我有一个列中包含经过时间的值,它们形成为hh:mm:ss或mm:ss。随着数据的导入,我无法控制它。
我需要做的是找到一种方法来进行全局更新,将值更改为秒或找到以当前格式对列使用sum函数的方法。
一个问题是数据是mm:ss和hh:mm:ss的混合。小时字段不是零填充。
答案 0 :(得分:2)
声明
SELECT
SUBSTR(SUBSTR("0000000"||time,LENGTH(time),8),1,2)*3600 +
SUBSTR(SUBSTR("0000000"||time,LENGTH(time),8),4,2)*60 +
SUBSTR(SUBSTR("0000000"||time,LENGTH(time),8),7,2)
FROM
table
WHERE
...
应该混合使用 hh:mm:ss , h:mm:ss , mm:ss , m: ss , ss 和 s 格式,时间分隔符也应该是任何字符。