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

Mat*_* H. 20 sql t-sql select

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

tblSchedule


ID
StaffID
StartTime
EndTime

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

SELECT StaffID, StartTime, EndTime, (StartTime = EndTime) AS AreEqual
FROM tblSchedule Where StaffID = xxx
Run Code Online (Sandbox Code Playgroud)

但我不确定这样的操作的实际语法.

Buc*_*cks 26

我想这就是你要找的东西

SELECT  StaffID
        , StartTime
        , EndTime
        , Case
          When StartTime = EndTime Then 1
          else  0
        End as AreEqual
FROM    tblSchedule
Where   StaffID = xxx
Run Code Online (Sandbox Code Playgroud)


p.c*_*ell 6

尝试CASE WHEN在你的SELECT陈述中使用a ; 这样的事情:

SELECT CASE WHEN StartTime = EndTime THEN 1 ELSE 0 END AS AreEqual
FROM MyTable
Run Code Online (Sandbox Code Playgroud)