select
  convert(varchar(14),Time,120)+
  case 
    when datepart(mi,Time) in(15) then '00'
when datepart(mi,Time) in(30) then '15'
when datepart(mi,Time) in(45) then '30'
when datepart(mi,Time) in(00) then '45'
    when datepart(mi,Time) in(05,10) then '00'
    when datepart(mi,Time) in(20,25) then '15'
    when datepart(mi,Time) in(35,40) then '30'
    when datepart(mi,Time) in(50,55) then '45'
  end
  +':00'
from SH20080715如此处理数据库中时间字段,因为数据库中有 24:00:00这样的数据,那么导致用这个转换时候,24:00:00就转换为24:45:00了,于是产生“将   expression   转换为数据类型   datetime   时发生算术溢出错误”我想请达人完善一下上面的SQL,让其不会出错,而且24:00:00是转换为23:45:00谢谢了