SQL如何根据另一列的值创建一个布尔列

时间:2015-09-23 09:24:19

标签: mysql sql boolean

我有一个sql查询,用于检索值为字符串的列。我想在它旁边创建一个列,如果值包含子字符串'MB',则取值为1,否则为0

3 个答案:

答案 0 :(得分:3)

你可以尝试使用这种情况,然后像这样:

select case when INSTR('mycol', 'MB') > 0 then 1 
       else 0 
       end as myBoolCol

答案 1 :(得分:2)

您可以输出具有计算值的另一列,如下所示:

select COLUMN, IF(LOCATE('MB', COLUMN) > 0, 1, 0) as STR_FOUND
  from TABLE

有关详细信息,请参阅locateif的文档。

答案 2 :(得分:1)

select column, 
       case when column like '%mb%' then 1
       else 0 end 
from table

这适用于MSSQL和MYSQL