【发布时间】:2018-07-30 20:42:58
【问题描述】:
我使用下面的 SQL 来获取该月的最后一天,但我需要该月的最后 7 天:
DECLARE @dt as DATETIME = '7/29/2018'
DECLARE @LastDayOfTheMonth as DATETIME = DATEADD(DAY, -1, DATEADD(Month, 1, DATEADD(DAY,1 - DAY(@dt),@dt)))
SELECT @LastDayOfTheMonth
我也可以使用这个 SQL 函数来获得上述结果,但我需要任何一个月的最后 7 天的记录。
SELECT EOMONTH('7/29/2018')
【问题讨论】:
-
我也可以使用这个 SQL 函数来获得上述结果,但我需要任何一个月的最后 7 天的记录。 -> 选择 EOMONTH('7/29/2018')
-
你是指月底前的第7天吗?也许
DATEADD(day, -6, EOMONTH('7/29/2018')). -
是月底前的第 7 天。那行得通!非常感谢丹。我真的很感激。
-
请谨慎使用区域性、语言相关、模棱两可的日期格式,例如
mm/dd/yyyy。使用yyyymmdd更安全。 -
感谢亚伦的建议。我将使用 yyyymmdd 格式。
标签: sql sql-server