在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