SQL - 在SELECT中创建列以测试相等性

时间:2011-05-17 02:57:54

标签: sql tsql select

在SQL Server中,我正在处理这些列:

tblSchedule


ID
STAFFID是
开始时间
结束时间

我想在结果集中包含一个布尔字段,指示StartTime和EndTime是否相等。类似的东西:

SELECT StaffID, StartTime, EndTime, (StartTime = EndTime) AS AreEqual
FROM tblSchedule Where StaffID = xxx

但是我不确定像这样的操作的实际语法。

2 个答案:

答案 0 :(得分:26)

我认为这就是你要找的东西

SELECT  StaffID
        , StartTime
        , EndTime
        , Case
          When StartTime = EndTime Then 1
          else  0
        End as AreEqual
FROM    tblSchedule
Where   StaffID = xxx

答案 1 :(得分:6)

尝试在CASE WHEN声明中使用SELECT;像这样的东西:

SELECT CASE WHEN StartTime = EndTime THEN 1 ELSE 0 END AS AreEqual
FROM MyTable