我想选择从今天到最后 15 日(即本月或上个月)的一系列数据。这将如何在 TSQL 中完成?
正在关注 Get last Friday's Date unless today is Friday using T-SQL看来我至少必须使用 DATEDIFF
。
我正在考虑构建一个日期字符串,例如:
set @date='yyyy-mm-15'
但是 yyyy
或 mm
不能简单地是当前年/月,以防它必须回顾一个月/年。
最佳答案
这应该给你你想要的
SELECT *
FROM YourTable
WHERE YourDate > CAST((
CASE
WHEN DAY(getdate()) < 15
THEN (CAST(YEAR(GETDATE()) AS CHAR(4)) + CAST(MONTH(dateadd(month, - 1, getdate())) AS CHAR(2)) + '15')
ELSE CAST(YEAR(GETDATE()) AS CHAR(4)) + CAST(MONTH(GETDATE()) AS CHAR(2)) + '15'
END
) AS DATETIME)
编辑 将 WHEN DAY(getdate()) > 15 更改为 WHEN DAY(getdate()) < 15,因为结果是相反的:)
关于sql - 选择从今天到本月最后 15 日的数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13589553/