日期:2014-05-18  浏览次数:20528 次

sql server 2008,有表BEI,在列“时长”有几分几秒,想在原表中统一变为秒数,求语句,谢谢!
表:BEI
现有二列:
时长 地址
1分47秒 昆明
1分34秒 红河
38秒 曲靖

想变成如下方式
107 昆明
94 红河
38 曲靖
注:要求是改变原表的内容,不改变原表的语句已找到,谢谢!


------解决方案--------------------
SQL code
create table tb(时长 varchar(10),地址 varchar(10))
insert into tb
 select '1分47秒','昆明' union
 select '1分34秒','红河' union
 select '38秒','曲靖' 
 
 
 update tb set 时长=case when 时长 like '%分%' then
         datediff(ss,'00:00:00','0:'+replace(REPLACE(时长,'分',':'),'秒',''))
         else replace(时长,'秒','') end

select * from tb         
/*
时长         地址
---------- ----------
94         红河
107        昆明
38         曲靖

(3 行受影响)