如何获得2列中的小时,分钟和秒的总和?
How to get the sum of hour, minutes, and seconds in 2 columns?
我正在使用 SQL 服务器作为数据库。我在 table、newTime, oldTime
.
中有 2 列
假设我在 newTime
列中有 04:07:28
的值,而 oldTime
的值是 03:07:40
.
结果应该得到 newTime
和 oldTime
列的总和,即 07:15:08
。
我尝试了 Split_String()
函数来轻松地将数字拆分为小时、分钟和秒。但是我在数据库中有一个问题,兼容性级别很低,我也尝试将 compatibility_level
设置为 130,但我没有更改数据库的权限。
有没有其他方法可以总结这两列?谢谢!
如评论中所述 - 如果您要存储 时间值,您应该真的使用TIME
数据类型- 不是 VARCHAR
..... 总是 使用 最合适的 数据类型 - 没有例外。
无论如何 - 因为你有 VARCHAR
,声明有点令人费解 - 但你去吧:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, CAST(NewTime AS TIME)), CAST(OldTime AS TIME))
FROM
dbo.YourTableNameHere
使用 TIME
列看起来会容易得多,当然:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, NewTime), OldTime)
FROM
dbo.YourTableNameHere
我正在使用 SQL 服务器作为数据库。我在 table、newTime, oldTime
.
假设我在 newTime
列中有 04:07:28
的值,而 oldTime
的值是 03:07:40
.
结果应该得到 newTime
和 oldTime
列的总和,即 07:15:08
。
我尝试了 Split_String()
函数来轻松地将数字拆分为小时、分钟和秒。但是我在数据库中有一个问题,兼容性级别很低,我也尝试将 compatibility_level
设置为 130,但我没有更改数据库的权限。
有没有其他方法可以总结这两列?谢谢!
如评论中所述 - 如果您要存储 时间值,您应该真的使用TIME
数据类型- 不是 VARCHAR
..... 总是 使用 最合适的 数据类型 - 没有例外。
无论如何 - 因为你有 VARCHAR
,声明有点令人费解 - 但你去吧:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, CAST(NewTime AS TIME)), CAST(OldTime AS TIME))
FROM
dbo.YourTableNameHere
使用 TIME
列看起来会容易得多,当然:
SELECT
DATEADD(SECOND, DATEDIFF(SECOND, 0, NewTime), OldTime)
FROM
dbo.YourTableNameHere