制作SSRS时遇到一个小问题,用户要求按一天24小时进行选择查看报表的数据,从master..spt_values 取出0~23,但0~9是不属于系统正常的时间点,需要变更后00~09,下面有几种方法实现。
方法一:
select right (cast('0'+cast( number as nvarchar(2)) as nvarchar(3)),2)
from master..spt_values
where type='p' and number between 1 and 24
方法二:
select case when number <10
then '0'+ cast(number as varchar(50) )
else
cast(number as varchar(20))
end
from master..spt_values
where type='P'
and number<24
方法三:
select replicate('0',2-len(number))+convert(varchar(10),number)from master..spt_values where type='P'
replicate:以指定的次数重复字符表达式
这样定义参数后,一天的二十四就可按00~23 进行选择查看。