2012-03-18 142 views
-1

我有一個以文本形式導入的列。我該如何從postgres中的文本中隨時間改變數據類型?在postgres中將文本更改爲時間

請幫忙。

+0

你想要的數據類型'時間'或你真的想要[''timestamp'](http:// www。 postgresql.org/docs/current/interactive/datatype-datetime.html)? – 2012-03-18 20:56:40

+0

我想要時間,但我不能添加時間列 – madi 2012-03-19 04:46:35

回答

1

基本上是我做的是這樣的:

的時間總是在任何數據庫的問題,從文本轉換到年月日時。我做了以下,因爲我無法找到一個直接的解決方案

  1. 我創造了時間類型的新列「visit_time」並複製所有在文本列到新列

  2. 的時間代碼如下:

     
        ALTER TABLE "ae" ADD COLUMN visit_time time;
    UPDATE "ae" SET visit_time = to_timestamp(visit_time2,'HH24:MI:SS');;

2

谷歌的Postgres字符串時間戳表明to_timestamp

+0

我ahve試過,但它不起作用 – madi 2012-03-19 04:48:41

+1

「它不工作」是沒用的。發佈SQL請求和實際的錯誤消息。 – bortzmeyer 2012-12-11 21:32:25

1
alter table <table> 
alter <columnname> type time 
using <columnname>::time; 

如果n值直接轉換..你也可以寫一個函數來處理這個...

alter table <table> 
alter <columnname> type time 
using fn_someconversionfunction(<columnname>);