Sql server 2008 使用SQL中的用户定义函数获取上一个月和上一年

Sql server 2008 使用SQL中的用户定义函数获取上一个月和上一年,sql-server-2008,Sql Server 2008,我需要写一个函数,它将返回上个月和上一年。 例如,如果输入为:function_name(“2015年2月”),则输出为“2014年1月”。在SQL Server 2008中,有日期数据类型,它没有附加时间。因此,只需转换,然后执行DateAdd,就可以很容易地删除时间部分 SELECT DateAdd(month, -1, Convert(date, GetDate())); 这将返回日期数据类型。要强制再次使用datetime,只需再添加一个Convert: SELECT Convert(

我需要写一个函数,它将返回上个月和上一年。
例如,如果输入为:function_name(“2015年2月”),则输出为“2014年1月”。

在SQL Server 2008中,有日期数据类型,它没有附加时间。因此,只需转换,然后执行DateAdd,就可以很容易地删除时间部分

SELECT DateAdd(month, -1, Convert(date, GetDate()));
这将返回日期数据类型。要强制再次使用datetime,只需再添加一个Convert:

SELECT Convert(datetime, DateAdd(month, -1, Convert(date, GetDate())));

不过,您可能不需要显式转换为
datetime

请发布您到目前为止所做的工作。要了解如何正确提问,请参见