我有这样的查询:
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)
上面的查询每天将数据提取到另一个表中。现在,此查询的问题是我们必须每天手动更改DAY(ColDate) =?
子句中的WHERE
以获取正确的数据。如何设置我的WHERE子句以检查该月的那一天并相应地提取数据?
答案 0 :(得分:1)
这是你在找什么?
WHERE DAY(colDate) = DAY(GETDATE()) AND
. . .
或者,或许:
WHERE DAY(colDate) = DAY(CASE WHEN DATEPART(HOUR, GETDATE()) < 16 THEN GETDATE() - 1 ELSE GETDATE() END) AND