【发布时间】:2020-01-03 22:59:10
【问题描述】:
我在 SQL Server 2014 中工作,需要从 SQL Server DateTime 准确计算一个月前,但我无法弄清楚如何正确使用 DATEADD。
例子:
SELECT DATEADD(MONTH, -1, '20200229')
返回2020-01-29。
SELECT DATEADD(MONTH, -1, '20200301')
返回2020-02-01。
但在第二个语句中,我想得到2020-01-30 和2020-01-31
有什么想法吗?
【问题讨论】:
-
到底是什么问题?
-
这看起来没问题,3 月初前 1 个月,2 月初。
-
你说
Dateadd工作不正常。您能否参考一个可以证实您的主张的来源? -
嗯,我想他想要上个月的最后一天,因为他是当月的最后一天。
-
该代码和输入/输出对我来说看起来不错。从
29 february中减去 1 个月将返回31 january,这将是相当出乎意料的。
标签: sql sql-server datetime datediff dateadd