日期     時間     系統時間
20110803 0652 2011-08-03 07:00:01.937求2個時間之間的分鐘差

解决方案 »

  1.   

    select datediff(mi,日期,系统日期)
    from tb
      

  2.   


    select datediff(mi,'20110803',getdate())
      

  3.   

    需要20110803+0652 
    可是加起來又出現消息 241,级别 16,状态 1,第 2 行
    從字元 (char) 字串轉換到 datetime 的語法錯誤。
      

  4.   


    declare @a varchar(50)='20110803',
    @b varchar(10)='0652',
    @c datetime='2011-08-03 07:00:01.937'
    set @a=SUBSTRING(@a,1,4)+'-'+SUBSTRING(@a,5,2)+'-'+SUBSTRING(@a,7,2)+' '+SUBSTRING(@b,1,2)+':'+SUBSTRING(@b,3,2)+':00.000'
    select DATEDIFF(MINUTE,@a,@c)
      

  5.   

    先把前面2个拼成时间了再说select dateadd(min,cast(right('0652',2) as int),dateadd(hour,cast(left('0652',2) as int),'20110803'))
      

  6.   


    select datediff(minute,dateadd(minute,cast(right('0652',2) as int),dateadd(hour,cast(left('0652',2) as int),'20110803')),'2011-08-03 07:00:01.937')
      

  7.   

    select datediff(mi,'2011-08-03 07:00:01.937',getdate())
      

  8.   

    需要先把字符串转换成yyyy-mm-dd hh:mi:ss.mmm(24h)格式,楼主看下在线帮助。
      

  9.   

    你这个有点语法问题,改了下,ok!
    declare @a varchar(100)
    declare @b varchar(10)
    DECLARE @c datetime
    SET @c='2011-08-03 07:00:01.937'
    SET @a='20110803'
    SET @b ='0652'       
    set @a=SUBSTRING(@a,1,4)+'-'+SUBSTRING(@a,5,2)+'-'+SUBSTRING(@a,7,2)+' '+SUBSTRING(@b,1,2)+':'+SUBSTRING(@b,3,2)+':00.000'
    select DATEDIFF(MINUTE,@a,@c)