select convert(char(8),DT,112)+replace(TM,':','') DTTM,datediff(hh,'1900-1-1',DURA) 秒 from 你的表

解决方案 »

  1.   

    如果你DT不是datetime类型:select convert(char(8),cast(DT as datetime),112)+replace(TM,':','') DTTM,datediff(hh,'1900-1-1',DURA) 秒 from 你的表
      

  2.   

    select convert(char(8),dt,112)+replace(tm,':',''),
    datepart(Hour,dura)*3600+datepart(minute,dura)*60+datepart(second,dura) 秒 
    from table
      

  3.   

    dt字段是datetime和字符型的处理方法不同.
    tm,dura可以为字符型,也可以为datetime型,不影响处理--下面是例子:--如果dt为日期型的例子
    declare @t table(dt datetime,tm varchar(8),dura varchar(8))
    insert into @t
    select '2003-11-1','14:45:03','00:01:05'select 时间=convert(varchar,dt,112)
    +replace(convert(varchar,tm,108),':','')
    ,时长=datepart(hour,dura)*3600
    +datepart(minute,dura)*60
    +datepart(second,dura)
    from @t
    go--如果dt为字符型的例子
    declare @t table(dt varchar(10),tm varchar(8),dura varchar(8))
    insert into @t
    select '2003-11-1','14:45:03','00:01:05'select 时间=convert(varchar,cast(dt as datetime),112)
    +replace(convert(varchar,tm,108),':','')
    ,时长=datepart(hour,dura)*3600
    +datepart(minute,dura)*60
    +datepart(second,dura)
    from @t