+ -
当前位置:首页 → 问答吧 → sql server 2008,有表BEI,在列“时长”有几分几秒,想在原表中统一变为秒数,求语句,谢谢!

sql server 2008,有表BEI,在列“时长”有几分几秒,想在原表中统一变为秒数,求语句,谢谢!

时间:2011-12-09

来源:互联网

表:BEI
现有二列:
时长 地址
1分47秒 昆明
1分34秒 红河
38秒 曲靖

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

作者: ffmxxx   发布时间: 2011-12-09

没看懂你是啥意思?是想更新时长字段为秒数,还是想以秒数的方式来显示?

作者: EVAN_QIN   发布时间: 2011-12-09

是想更新时长字段为秒数,当语句运行之后,在SQL中打开该表,显示的是秒数。谢谢。

作者: ffmxxx   发布时间: 2011-12-09

SQL code

update tb
set col=isnull(cast(parsename(replace(replace(col,'',''),'','.')) as int),0)*60
       +isnull(cast(parsename(replace(replace(col,'',''),'','.')) as int),0)

作者: AcHerat   发布时间: 2011-12-09

SQL code

declare @str varchar(10)
set @str = '1分34秒'
select isnull(cast(parsename(replace(replace(@str,'',''),'','.'),2) as int),0)*60
       +isnull(cast(parsename(replace(replace(@str,'',''),'','.'),1) as int),0)

/**************

94


SQL code

update tb
set col=isnull(cast(parsename(replace(replace(col,'',''),'','.'),2) as int),0)*60
       +isnull(cast(parsename(replace(replace(col,'',''),'','.'),1) as int),0)


作者: AcHerat   发布时间: 2011-12-09