SQL 返回选定值的新列

时间:2021-01-18 10:20:54

标签: sql postgresql

我想写一个查询,当一列包含 Mike 时返回一个新列,它返回 1;当列不包含 Mike 时,它​​返回 0。我使用的是 PostgreSQL。

之前:

<头>
名字 姓氏 name_name
迈克 博戈 约翰逊
大卫 迈克 营地
迈克 亨德森 鲍嘉
迈克 罐子 丹佛
斯蒂芬 达拉斯 佩恩

查询后应该显示

<头>
名字 姓氏 name_name new_column
迈克 博戈 约翰逊 1
大卫 迈克 营地 1
尼尔 亨德森 鲍嘉 0
迈克 Jart 丹佛 1
斯蒂芬 达拉斯 佩恩 0

1 个答案:

答案 0 :(得分:0)

这可以使用 CASE 表达式来完成

select first_name, last_name, name_name, 
       case 
         when 'Mike' in (first_name, last_name) then 1
         else 0
       end as new_column
from the_table;

不过,我更喜欢适当的布尔列(带有真/假):

select first_name, last_name, name_name, 
       'Mike' in (first_name, last_name) as new_column
from the_table;
相关问题