2015-11-09 82 views
1

我有一個查詢,像這樣:增量負載問題

SELECT Col1, Col2, Col3, ColDate 
    FROM TableA 
    WHERE DAY(ColDate) = 1 
     AND MONTH(ColDate) = MONTH(CASE WHEN DATEPART(HOUR, GETDATE()) < 16 THEN GETDATE() - 1 ELSE GETDATE()END) 
     AND YEAR(ColDate) = YEAR(CASE WHEN DATEPART(HOUR, GETDATE()) < 16 THEN GETDATE() - 1 ELSE GETDATE()END) 

上述查詢每日提取數據到另一個表。現在,這個查詢的問題是我們必須每天手動更改WHERE子句中的DAY(ColDate) =?以提取正確的數據。如何設置我的WHERE子句來檢查當月的日期並相應地提取數據?

回答

1

這是你在找什麼?

WHERE DAY(colDate) = DAY(GETDATE()) AND 
     . . . 

或者,也許:

WHERE DAY(colDate) = DAY(CASE WHEN DATEPART(HOUR, GETDATE()) < 16 THEN GETDATE() - 1 ELSE GETDATE() END) AND 
+0

Thanks.' DAY(colDate)= DAY(GETDATE())'的作品! – dLight