我如何确保select语句返回特定列的空值?

时间:2012-06-08 22:03:33

标签: sql-server

这可能听起来很奇怪,但我有一个连接两个表的查询。我正在使用IF语句来决定返回什么。一个路径按原样运行查询/连接,另一个路径需要返回第一列中的所有数据,但只返回具有空值的列名。这是我现在的查询:

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。我担心这会在以后造成问题。有什么想法吗?

1 个答案:

答案 0 :(得分:5)

如果我正确理解了这个问题,我认为你可以做到:

SELECT DisplayName, NULL as 'RegularHours', NULL as 'OvertimeHours'