其中 '开始时间'是vachar,出现的错误是: 从字符串转换为 datetime 时发生语法错误。是说 DATENAME(MM,开始时间) 有问题,你不把你的  开始时间 里的数据贴出来,谁能帮你?

解决方案 »

  1.   

    对,对,确实有问题,我反映过来了
    是’20000101000000‘
    我想DATENAME用错了,我用SUBSTRING尝试一下
      

  2.   

    我改了:
    insert stat_info select 终端编号,业务编号,sum( case when 服务量>59 then ceiling(服务量/60.00) when 服务量 = 0 then 0 when 服务量<60 then 1 end),count(*),count(费用),substring(开始时间,1,4)+substring(开始时间,5,2)+substring(开始时间,7,2)+' 00:00:00' from UNICRETABLE where CONVERT(DATETIME,DATENAME(YY,开始时间)+'-'+DATENAME(MM,开始时间)+'-'+DATENAME(DD,开始时间)+' 00:00:00')>'1899-12-30 00:00:00' and 终端编号='0100000018' and 业务编号='00004' group by  substring(开始时间,1,4)+substring(开始时间,5,2)+substring(开始时间,7,2)+' 00:00:00',终端编号,业务编号还是同样错误啊,55555555555555
      

  3.   

    insert stat_info select 终端编号,业务编号,
    sum( case when 服务量>59 then ceiling(服务量/60.00)
     when 服务量 = 0 then 0 when 服务量<60 then 1 end),count(*),count(费用),
     left(开始时间,8)
     from UNICRETABLE where
    终端编号='0100000018' and 业务编号='00004'
     group by left(开始时间,8),终端编号,业务编号
      

  4.   

    万分谢谢 pengdali(大力 V2.0) 通了,哈哈哈 
    修改过的代码是:
    insert stat_info select 终端编号,业务编号,sum( case when 服务量>59 then ceiling(服务量/60.00) when 服务量 = 0 then 0 when 服务量<60 then 1 end),count(*),count(费用),substring(开始时间,1,4)+'-'+substring(开始时间,5,2)+'-'+substring(开始时间,7,2)+' 00:00:00' from UNICRETABLE where substring(开始时间,1,4)+'-'+substring(开始时间,5,2)+'-'+substring(开始时间,7,2)+' 00:00:00'>'1899-12-30 00:00:00' and 终端编号='0100000018' and 业务编号='00004' group by  substring(开始时间,1,4)+'-'+substring(开始时间,5,2)+'-'+substring(开始时间,7,2)+' 00:00:00',终端编号,业务编号
      

  5.   

    left 取不到’-‘
    谢谢哈,哥哥