Sql 比较同一表中的两列
我有两列,我想比较每一行中的值,并创建第三列,它将告诉我true或false(或0/1),如下面的示例所示Sql 比较同一表中的两列,sql,sql-server,Sql,Sql Server,我有两列,我想比较每一行中的值,并创建第三列,它将告诉我true或false(或0/1),如下面的示例所示 Col1 Col2 Col3 24 24 true 45 45 true 56 54 false 78 98 false 只需使用大小写表达式 case when col1 = col2 then 'true' else 'false' 或以比特形式 case when col1 = col2 then
Col1 Col2 Col3
24 24 true
45 45 true
56 54 false
78 98 false
只需使用大小写表达式
case when col1 = col2 then 'true' else 'false'
或以比特形式
case when col1 = col2 then 1 else 0
这应该适合您:
select col1, col2, case when col1 = col2 then 'true' else 'false' end as col3
如果要向表中添加列,则可以使用计算列:
alter table t add col3 as (case when col2 = col3 then 1 else 0 end)
如果列可以有NULL
值,并且您希望将这些值视为相等,那么逻辑应该考虑到这一点
此列在引用该表时可用
如果您只想在查询中得到结果,请使用其他几个答案中描述的大小写表达式。就个人而言,表达式可能是最简单的方法
SELECT col1,
col2,
CASE
WHEN col1 = col2 THEN 'True'
ELSE 'False'
END AS Is_A_Match
你试过什么了吗?请看一下导游。这不是一个代码服务社区。你试过使用“case”表达式吗?你试过什么了吗?我试过选择“TotalBookedFare”,“MyNewFare”,当“TotalBookedFare”为“MyNewFare”时,选择case,然后选择1或0作为MyDesiredResult结束,这是你比较的两个字符串?这等于零。否则,如果是列,则是正确的方法。是,比较两列。我一定是把这个放错地方了。感谢您确认这是正确的语法