??
datediff(ss,'2004-8-21 00:00:00,convert(datetime,left()+'-'+..........'))
--〉
datediff(ss,'2004-8-21 00:00:00',convert(datetime,left()+'-'+ '..........'))

解决方案 »

  1.   

    请参考如下:
    select CONVERT(varchar(10), getDate(),120) --不要时间2002-1-1
    select convert(char(8),getdate(),112) ----20020101
    select convert(char(8),getdate(),108)  ---06:05:05
      

  2.   

    比如:select datediff(ss,'2004-8-21 00:00:00',convert(datetime,left('2004-8-21',6)+'-'+ '22'))结果:
                
    ----------- 
          86400 (所影响的行数为 1 行)
      

  3.   

    convert(datetime,left()+'-'+..........')的结果是日期型的,不用加单引号
    你的问题是前面的少写了一个单引号
      

  4.   

    多谢各位,可是select * from tbilllog where datediff(ss,'2004-08-01 00:00:00',convert(datetime,'.......'))>0 却无法得到相应的记录,而数据库中明明是有这些记录的,而且没有报语法错,只是出来空集,如果查select * from tbilllog where datediff(ss,'2004-08-01 00:00:00',convert(datetime,'.......'))<0的部分,到也能查处来,很奇怪,为什么了?convert的结果和datediff的结果都能单独弄出来,都是正确地!!!多谢
      

  5.   

    select datediff(day,convert(datetime,'2004-8-21 00:00:00'),convert(datetime,left('2004-8-21',6)+'-'+ '22'))
    这样返回的是天,楼主的程序返回的是秒
      

  6.   

    用cast
    datediff(ss,convert(datetime,'2004-1-23 00:00:00'),cast(sj as datetime ))>0
      

  7.   

    其实就是要从一个表中搜出固定时间段的集合,很简单,却.....贴出原句,大家给看看:
    select callerNo, calleeNo, Starttime, Answertime, Releasetime from tBillLog where datediff(ss, '2004-8-29 19:00:00', convert(datetime,(left(Releasetime,4)+'-'+(right(left(Releasetime,6),2))+'-'+(right(left(Releasetime,8),2))+' '+(right(left(Releasetime,10),2))+':'+(right(left(Releasetime,12),2))+':'+(right(left(Releasetime,14),2)))))>0 and datediff(ss,convert(datetime,(left(Releasetime,4)+'-'+(right(left(Releasetime,6),2))+'-'+(right(left(Releasetime,8),2))+' '+(right(left(Releasetime,10),2))+':'+(right(left(Releasetime,12),2))+':'+(right(left(Releasetime,14),2)))), '2004-8-29 20:00:00')>0多谢
      

  8.   

    楼主,我建议你先将Releasetime这个字段处理成你需要的格式放在一个临时字段里,然后再做比较。
    或者将前面的'2004-8-29 19:00:00'转换为字符串来比较字符串的大小
    convert(varchar,'2004-8-29 19:00:00')>convertconvert(varchar,(left(Releasetime,4)+'-'+(right(left(Releasetime,6),2))+'-'+(right(left(Releasetime,8),2))+' '+(right(left(Releasetime,10),2))+':'+(right(left(Releasetime,12),2))+':'+(right(left(Releasetime,14),2))))