Sql server 2008 r2 按每个值更新列

Sql server 2008 r2 按每个值更新列,sql-server-2008-r2,sql-update,Sql Server 2008 R2,Sql Update,下面是我的表格,包含的持续时间为HH:MM:SS 我可以把它转换成秒 SELECT (SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),1,2) * 360) + (SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),4,2) * 60) + SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),7,2) 现在我需要通过读取每一行记录,将该表更新为秒。如何 比如,我需要的不是“

下面是我的表格,包含的持续时间为HH:MM:SS

我可以把它转换成秒

SELECT  (SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),1,2) * 360) 
+ (SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),4,2) * 60) 
+  SUBSTRING(CAST('00:01:15' AS NVARCHAR(MAX)),7,2)
现在我需要通过读取每一行记录,将该表更新为秒。如何

比如,我需要的不是“00:01:15”,而是每行的
@DURATIONINSECONDS

试试下面的方法

SELECT * from Table1

DurationInSeconds
75
15
76
77
如果您的表有这样的值

表1

DurationInSeconds
00:01:15    
00:00:15    
00:01:16    
00:01:17
您想将字段持续时间秒更新为秒

然后尝试下面的查询

update Table1 set DurationInSeconds = (SUBSTRING(CAST(DurationInSeconds AS NVARCHAR(MAX)),1,2) * 360) + (SUBSTRING(CAST(DurationInSeconds AS NVARCHAR(MAX)),4,2) * 60) +  SUBSTRING(CAST(DurationInSeconds AS NVARCHAR(MAX)),7,2)
然后给出如下结果

SELECT * from Table1

DurationInSeconds
75
15
76
77

我想知道!有时我们可能会有愚蠢的怀疑。。。我想这是我的一个。。。天哪!!!羞耻。。。。