本文介绍了如何比较 SQL Server 中两列的相等性?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两列根据某些条件连接在一起,但我还想检查其他两列是否相同,如果相同则返回一个位字段.
I have two columns that are joined together on certain criteria, but I would also like to check if two other columns are identical and then return a bit field if they are.
有没有比使用 CASE WHEN 更简单的解决方案?
Is there a simpler solution than using CASE WHEN?
理想情况下,我可以使用:
Ideally I could just use:
SELECT Column1 = Column2 AS MyDesiredResult
FROM Table1
INNER JOIN Table2 ON Table1.PrimaryKey = Table2.ForeignKey
推荐答案
CASE 有什么问题?为了查看结果,您至少需要一个字节,这就是您使用单个字符获得的结果.
What's wrong with CASE for this? In order to see the result, you'll need at least a byte, and that's what you get with a single character.
CASE WHEN COLUMN1 = COLUMN2 THEN '1' ELSE '0' END AS MyDesiredResult
应该可以正常工作,并且就所有意图和目的而言,与使用位域的功能相同.
should work fine, and for all intents and purposes accomplishes the same thing as using a bit field.
这篇关于如何比较 SQL Server 中两列的相等性?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!