解决方案 »

  1.   

    可以用DATEADD(HOUR,1,TransTime)代替第二个时间
      

  2.   

    呃,没注意,那可以用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 每小时