2014-09-01 63 views
0

我有一個包含在表「信息」的時間信息5個獨立的列: 列名稱{格式例如}(變量類型)的PostgreSQL:結合表列創建時間戳

day {Fri}(Varchar) 
month {Apr}(Varchar) 
date {18}(Varchar) 
time {22:59:30}(Varchar) 
year {2014}(Varchar) 

如何創建另一列在大多數這些組合變量的時間戳表中? 謝謝

回答

0

您可以將值連接成一個字符串,然後將其轉換爲時間戳。

select (month || ' ' || date || ', ' || year || ' ' || time)::timestamp 

這假定串聯導致有效的時間戳。由於所有的列都被定義爲VARCHAR,我認爲它不可能在第一次正確運行。您可能需要修復一些不良數據。

它起作用後,您應該可以從結果中提取星期幾,並將其與「day」列進行比較。如果他們不一樣,你還有其他問題需要解決。

想想存儲實際時間戳而不是片斷。