Sql 如何使用GETDATE()获取上个月的月份和年份?
我怎样才能把它变成一句能让我明白的话 上个月和今年 我在列报告中插入了日期[日期时间]Sql 如何使用GETDATE()获取上个月的月份和年份?,sql,sql-server-2008,Sql,Sql Server 2008,我怎样才能把它变成一句能让我明白的话 上个月和今年 我在列报告中插入了日期[日期时间] insert into table_a (report_date) values ( ??); 我想展示过去的一个月和一年, 比如今天是2014年4月21日 因此,在专栏中会显示2014年3月 如果今天是2014年5月1日,它将显示4/2014? 这是可能的还是必须有一天?您正在寻找功能: SELECT DATEPART(month, DATEADD(month, -1, GETDATE()), DATEP
insert into table_a (report_date) values ( ??);
我想展示过去的一个月和一年,
比如今天是2014年4月21日
因此,在专栏中会显示2014年3月
如果今天是2014年5月1日,它将显示4/2014?
这是可能的还是必须有一天?您正在寻找功能:
SELECT DATEPART(month, DATEADD(month, -1, GETDATE()), DATEPART(year, DATEADD(month, -1, GETDATE())
如果你想通过“今年”获得“上个月”,你可以:
SELECT CAST(
CAST(YEAR(GETDATE()) AS VARCHAR) + '-' +
CAST(MONTH(GETDATE())-1 AS VARCHAR) + '-' +
CAST(DAY(GETDATE()) AS VARCHAR)
AS DATETIME)
但在2015年1月,它将在2015年12月回归。
如果您只想在上个月使用“DATEADD”函数
SELECT DATEADD(MONTH, -1, GETDATE())
上个月还是上个月?要获取今年的上个月,要输出具有相同语句的年和月,换句话说,要获取今年的上个月,例如获取2014年3月如果要将结果作为日期时间值,则必须包含一天-是否要第一天、最后一天,或者与当天同一天,但提前一个月?哦,我不知道我会有一天参与。因为它会在不到30/31天的一个月内引发问题。因此,不可能有一个“3/2014”选择给我,我必须将它们分开,才能得到上个月和今年?