SQL存储过程中取月份的参数问题

来源:百度知道 编辑:UC知道 时间:2024/05/21 19:41:48
存储过程中的生成哪个月份数据可以通过存储过程的执行界面选择月份来实现.
如果我想在执行存储过程选择月份后,同时执行出本月和上月的数据(可以在存储过程中建两个临时表放不同月份数据,当然如果建一个临时表可以同时实现当然更好),因为程序中有其他语句需要使用两个月份数据来实现.一年有12个月,月份是从1-12的,跨年的时候,比如2007年1月和他的上月2006年12月存在着数字差别,所以,不能用(本月-1来)实现,所以想问一下,有没有一个参数在用SQL编程时可以实现这个转换,,或者语句实现也可以,如果用if来实现的话,应该是个怎么样的大概格式,恳请各位高人指点一下.
感激不尽!!!

要取得上月还是很好取的
比如你传入的是'200701',那么取上月可以这样子
我给你一段代码看看吧
declare @the_month varchar(6)
set @the_month='200701'--相当于你传入的月份
select convert(varchar(6),dateadd(month,-1,convert(datetime,(@the_month+'01'))),112)

上面的代码实际上是利用几个数据转换和日期加减函数实现的
如果看不懂再问我。

传完整的时间参数,用的时候取其中的月份即可