2012-06-16 124 views
0

我有一個包含經過時間值的列,它們被格式化爲hh:mm:ss或mm:ss。數據導入後,我無法控制這一點。我需要將hh:mm:ss轉換爲秒

我需要做的是找到一種方法來做一個全局更新,以將值更改爲秒或找到一種方法來使用當前格式的列上的求和函數。

一個問題是數據是mm:ss和hh:mm:ss的混合。小時字段不是零填充的。

+1

[你有什麼嘗試?](http://whathaveyoutried.com/) – sczizzo

回答

1

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:SSH:mm:ss的毫米:SS米:SSSSs格式和時間分隔符應該是任何字符。

+0

是的!那樣做了。現在,我必須決定是否在UPDATE語句中使用此代碼來修復數據庫或僅將其包含在我的查詢中。感謝您的幫助! – Cidtek

+0

@Cidtek - 我建議你在數據庫中添加新的'time_sec'列,併爲每一行執行簡單的'update',這樣你可以稍後移除舊的'time'列,並用'time_sec'信息加快工作。祝你好運! –

+0

好主意 - 謝謝! – Cidtek

相關問題