【发布时间】:2015-06-11 00:48:40
【问题描述】:
我正在写一个存储过程,这个存储过程需要输入一个日期:
DECLARE @dateCurrent AS DATE = '10/31/2014' // 让我们声明 '10/31/2014' 是用户输入。
根据输入的日期,我想将以下变量设置为:
DECLARE @datePrior AS DATE = PreviousMonth(@dateCurrent)
Where PreviousMonthLastDayOfPreviousMonth(@dateCurrent) == '9/30/2014'
因此,如果用户输入“2014 年 10 月 31 日”,则应将以下变量设置为“2014 年 9 月 30 日”,这实际上是自输入日期起上个月的最后一天。
感谢您的帮助!
【问题讨论】:
-
到目前为止你尝试过什么代码?
-
仅供参考,如果您在上面运行 SQL Server 2012,请选择 EOMONTH(@dateCurrent,-1)
-
@ganders 我试过 EOMONTH() 但发现它是 2012 年的服务器函数而不是 2008 年的 r2
标签: sql-server tsql stored-procedures sql-server-2008-r2