我有2列,名称为col1和col2
col1 col2
abc abc1
pqr pqr1
xyz axyz1
bc dfg
我需要第三列,其结果是col1是否为col2中的substring
答案
col1 col2 col3
abc abc1 1
pqr pqr1 1
xyz axyz1 1
bc dfg 0
答案 0 :(得分:2)
有一个case
表达式,您可以使用like
检查col2是否包含col1:
select col1, col2, case when col2 like '%' || col1 || '%' then 1 else 0 end
from tablename
||
是ANSI SQL串联。有些产品会改为+
或concat()
。
答案 1 :(得分:0)
在SQL Server中使用CASE和CHARINDEX:
select col1, col2,
CASE WHEN CHARINDEX(col1, col2)>0 THEN 1 ELSE 0 END as col3
from table
答案 2 :(得分:0)
如果您使用sql server
,则可以尝试以下
select [col1], [col2], CASE WHEN CHARINDEX([col1],[col2],1) >0 THEN 1 ELSE 0 END AS Col3
from table1
答案 3 :(得分:0)
更短(MySQL,至少):
SELECT col1, col2, INSTR(col2, col1) > 0
FROM table;