我正在尝试获取简单报告的开始年份/月份和结束年份/月份。在我的存储过程中,我有以下内容:MONTH(GetDate())SQL Server 2008 R2返回错误的月份
IF @parm_StartYear is null SET @parm_StartYear = CONVERT(VARCHAR(4), DATEPART(YYYY,DATEADD(YYYY, -1, GETDATE())));
IF @parm_StartMonth is null SET @parm_StartMonth = CONVERT(VARCHAR(2),DATEPART(MM,MONTH(GETDATE())));
IF @parm_EndYear is null SET @parm_EndYear = CONVERT(VARCHAR(4),DATEPART(YYYY,GETDATE()));
IF @parm_EndMonth is null SET @parm_EndMonth = CONVERT(VARCHAR(2),DATEPART(MM,MONTH(GETDATE())));
年份是正确的,但该月份是未来一个月。 IE浏览器。今天是十二月(12),但它将在一月(01)回归。
我是否错过了简单的东西或者做了什么错误的事情?我看到的每个示例和其他问题都或多或少地显示了这个确切的代码。
OMG。很简单,谢谢。我在这个哈哈上浪费了几个小时。干杯! – rookie68 2014-12-04 16:31:21
MONTH()'调用不是一个强制转换:这是一个函数调用 – 2014-12-04 16:34:03
出于某种原因,我认为我需要Month()调用来获取要转换的日期的月份部分。我迷惑自己。 – rookie68 2014-12-04 16:36:24