我有两列,我想比较每一行的值,并创建第三列,告诉我真或假(或0/1),如下例所示。
Col1 Col2 Col3
24 24 true
45 45 true
56 54 false
78 98 false
答案 0 :(得分:1)
就个人而言,CASE
表达式可能是最简单,最简单的方法。
SELECT col1,
col2,
CASE
WHEN col1 = col2 THEN 'True'
ELSE 'False'
END AS Is_A_Match
答案 1 :(得分:0)
只需使用案例表达式。
case when col1 = col2 then 'true' else 'false'
或以位形式
case when col1 = col2 then 1 else 0
答案 2 :(得分:0)
这应该适合你:
select col1, col2, case when col1 = col2 then 'true' else 'false' end as col3
答案 3 :(得分:0)
如果要在表中添加列,则可以使用计算列:
alter table t add col3 as (case when col2 = col3 then 1 else 0 end)
如果列可以有NULL
个值,并且您希望将它们视为相等,则逻辑应考虑到这一点。
引用该表时,此列可用。
如果您只想在查询中使用结果,请使用case
表达式,如其他几个答案所述。