[英]Is there a way to convert a varchar column in dd-mm-yyyy format to a date column in yyyy-mm-dd format in postgresql?
我正在研究 PostgreSQL。
我的表中有一個名為curr_date
的列。 先前分配給它的數據類型是varchar
但該列以dd-mm-yyyy
格式存儲日期。
現在我想將其數據類型更改為日期,但為了做到這一點,我首先必須將dd-mm-yyy
格式的列中的所有值轉換為yyy-mm-dd
格式。
只有這樣我才能使用查詢 alter table alter column curr_date
type date using curr_date::date
;
那么有沒有辦法轉換這種格式。 我也願意使用虛擬列進行更改。
你可以在一個語句中做到這一點:
ALTER TABLE mytable
ALTER col TYPE date USING to_date(col, 'DD-MM-YYYY');
這將顯式地將數據從舊格式轉換為新格式。
像這樣的更改將導致表被重寫,如果表很大,這可能需要一段時間。 在此期間,即使對於SELECT
語句也無法訪問該表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.