比较同一个表中的两列

时间:2018-02-19 13:53:57

标签: sql sql-server

我有两列,我想比较每一行的值,并创建第三列,告诉我真或假(或0/1),如下例所示。

Col1    Col2   Col3
24      24     true
45      45     true
56      54     false
78      98     false

4 个答案:

答案 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表达式,如其他几个答案所述。