2
這可能聽起來很奇怪,但我有一個連接兩個表的查詢。我使用了一個IF語句來決定返回的內容。一條路徑按原樣運行查詢/連接,另一條路徑需要返回第一列中的所有數據,但只返回具有空值的列名稱。這裏的查詢我現在有:我如何確保select語句爲特定列返回空值?
declare @Date DATE = '06/07/2012'
IF @DATE >= GETDATE()
BEGIN
SELECT DisplayName, '' [RegularHours], ''[OvertimeHours]
FROM Sites
ORDER BY DisplayName
END
ELSE
SELECT sites.DisplayName, hrs.SiteDate, hrs.RegularHrs, hrs.OverTimeHrs
FROM Sites sites
left join SiteHours hrs on sites.SiteID = hrs.SiteID
ORDER BY DisplayName
什麼使我感到緊張的是,第二和第三列沒有價值可言,甚至不爲NULL。我擔心這會在稍後造成問題。有任何想法嗎?
除了我不會用'。'單quotes''作爲列/別名分隔符 - 這句法已被棄用。你應該在需要的地方使用'[方括號]'(例如,帶有空格的列,以數字或其他非字母字符或保留字/關鍵字開頭)。在這種情況下,不需要別名分隔符。 –
您可能想'CAST'NULL,以便數據類型與第二個查詢的列匹配。 – HABO
這兩個好記的,謝謝。 – Porco