当前位置: 代码迷 >> Sql Server >> sql存储过程有关问题(初学者求解)()(SOS)
  详细解决方案

sql存储过程有关问题(初学者求解)()(SOS)

热度:90   发布时间:2016-04-25 00:35:58.0
sql存储过程问题(菜鸟求解)(在线等)(SOS)
在sql存储过程中有两个参数是nvarchar的类型的201209和201212(随机的两个参数会变的)
怎么做才能得到A=201209 201210 201211 201212
这两个参数是yyyyMM也就是日期格式的
要得到的是日期月份的一个一个增加的
------解决方案--------------------
就是给一个变量C赋日期格式的值,要求其范围A<=C>=B且包含每一个满足条件的值 AB是为YYYYMM格式的日期。这就相当于C是一个数组,也就是实现数组功能。
数组就可以看为一个临时表,所以可以尝试把值存放在临时表中,再通过存储过程调用值
------解决方案--------------------

DECLARE @s NVARCHAR(100)='201209'
,@e nvarchar(100)='201212'

SELECT LEFT(@s,4)+RIGHT('00'+CAST(a.number AS varchar(2)),2) FROM master..spt_values a 
WHERE a.type='p' AND a.number BETWEEN CAST(RIGHT(@s,2) AS int) AND CAST(RIGHT(@e,2) AS int);

--------
201209
201210
201211
201212

--这个只支持同年的。
  相关解决方案