簡體   English   中英

有沒有辦法在postgresql中將dd-mm-yyyy格式的varchar列轉換為yyyy-mm-dd格式的日期列?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM