在SQL Server中,我处理这些列:SQL - 在SELECT创建列测试平等
tblSchedule
ID
,STAFFID
开始时间
结束时间
我想在我的结果集的布尔字段,表示开始时间和结束时间是否相等。类似的东西:
SELECT StaffID, StartTime, EndTime, (StartTime = EndTime) AS AreEqual
FROM tblSchedule Where StaffID = xxx
但我不确定这样的操作的实际语法。
在SQL Server中,我处理这些列:SQL - 在SELECT创建列测试平等
tblSchedule
ID
,STAFFID
开始时间
结束时间
我想在我的结果集的布尔字段,表示开始时间和结束时间是否相等。类似的东西:
SELECT StaffID, StartTime, EndTime, (StartTime = EndTime) AS AreEqual
FROM tblSchedule Where StaffID = xxx
但我不确定这样的操作的实际语法。
我认为这是你正在寻找
SELECT StaffID
, StartTime
, EndTime
, Case
When StartTime = EndTime Then 1
else 0
End as AreEqual
FROM tblSchedule
Where StaffID = xxx
感谢您的帮助:) – 2011-05-17 04:03:01
尝试使用CASE WHEN
在SELECT
声明;是这样的:
SELECT CASE WHEN StartTime = EndTime THEN 1 ELSE 0 END AS AreEqual
FROM MyTable
你有什么测试,它还是你假设它不工作? '(StartTime = EndTime)AS AreEqual'语法在MySQL下工作。 (我不知道SQL Server的想法) – Vache 2011-05-17 03:08:29
您的解决方案是标准的,应该工作。 – 2011-05-17 03:21:53
这种解决办法给我在SQL Server管理CHINESE Studio中的一个错误。 CASE..ELSE声明,尽管看上去不雅,却像一种魅力。 – 2011-05-17 04:02:41