请看下面语句,关于每小时销售额的查询!
select convert(VARCHAR(2),TransTime,114)+':00:00-' + cast(cast(convert(VARCHAR(2),TransTime,114) as int)+1 as varchar)+':00:00' as 每小时,SUM(PayAmt) as 金额
from dbo.TransSku
where DataSource ='1' and TransTime between '2015-02-18' and '2015-02-24'
GROUP BY convert(VARCHAR(2),TransTime,114) order by 每小时
实际效果如下图:

我就想问问,时间这一段感觉自己写的好傻,把varchar变成了int 就为了+1,然后又变回varchar,有没有更好的写法....
以上本人是新手哈,希望各位高手指导指导小弟!


------解决思路----------------------
呃,没注意,那可以用LTRIM(每小时+1)方式,快速转为数字再转为字符串
SELECT 每小时+':00:00-'+LTRIM(每小时+1)+':00:00' AS 每小时,金额
FROM(
select convert(VARCHAR(2),TransTime,114) as 每小时,SUM(PayAmt) as 金额
from dbo.TransSku
where DataSource ='1' and TransTime between '2015-02-18' and '2015-02-24'
GROUP BY convert(VARCHAR(2),TransTime,114)
)T
order by 每小时