如何获取 SQL 中字符串数据的总和?
How to get sum of string data in SQL?
我有一个 table,列名称为 'Working_hours',列类型是字符串,该列的数据如下所示。
我想总结这些数据。
有什么办法可以实现它或任何想法。
提前致谢
0:00:11
0:00:08
0:00:01
0:00:29
0:01:25
0:00:06
0:00:12
0:00:26
0:00:01
0:01:41
0:00:01
将其转换为纪元时间。
对于 mssql
select sum(DATEDIFF(s, '1900-01-01 00:00:00', cast(time_column as datetime))) from table
结果是以秒为单位的总和。
SELECT
convert(char(20),dateadd(second,SUM
(
DATEPART(hh,(convert(datetime,Working_hours,1))) * 3600 +
DATEPART(mi, (convert(datetime,Working_hours,1))) * 60 +
DATEPART(ss,(convert(datetime,Working_hours,1)))),0),108
)
AS Working_hours
FROM tblTime
您可以使用此查询....在 Sql 服务器中..
这有点取决于您使用的数据库
通常你必须转换或转换为时间然后求和。 Eg.g postgresql:
SELECT SUM(fieldname::time) FROM table
::time
对时间进行转换。
Microsoft sql-server(现在手边没有,所以请谨慎选择):
SELECT sum(CONVERT( TIME, fieldname )) FROM table
如果您有其他数据库,请查找如何将字符串转换或转换为时间...
我有一个 table,列名称为 'Working_hours',列类型是字符串,该列的数据如下所示。 我想总结这些数据。 有什么办法可以实现它或任何想法。 提前致谢
0:00:11
0:00:08
0:00:01
0:00:29
0:01:25
0:00:06
0:00:12
0:00:26
0:00:01
0:01:41
0:00:01
将其转换为纪元时间。
对于 mssql
select sum(DATEDIFF(s, '1900-01-01 00:00:00', cast(time_column as datetime))) from table
结果是以秒为单位的总和。
SELECT
convert(char(20),dateadd(second,SUM
(
DATEPART(hh,(convert(datetime,Working_hours,1))) * 3600 +
DATEPART(mi, (convert(datetime,Working_hours,1))) * 60 +
DATEPART(ss,(convert(datetime,Working_hours,1)))),0),108
)
AS Working_hours
FROM tblTime
您可以使用此查询....在 Sql 服务器中..
这有点取决于您使用的数据库
通常你必须转换或转换为时间然后求和。 Eg.g postgresql:
SELECT SUM(fieldname::time) FROM table
::time
对时间进行转换。
Microsoft sql-server(现在手边没有,所以请谨慎选择):
SELECT sum(CONVERT( TIME, fieldname )) FROM table
如果您有其他数据库,请查找如何将字符串转换或转换为时间...