簡體   English   中英

如何將YYYY / MM和YYYY / MM / DD導入PostgreSQL中的同一列?

[英]How to import YYYY/MM and YYYY/MM/DD to a same column in PostgreSQL?

我想將一些數據從文本文件導入到PostgreSQL表中。 創建表時,我有一列的數據類型為DATE 當我要導入數據時,它會出現此錯誤:

錯誤:類型日期“ 2009/11”的輸入語法無效

我在該列中的某些數據格式為YYYY/MM/DD而某些數據格式為YYYY/MM 現在我的問題是如何導入這些數據?

select to_date(dateColumn,'yyyy/mm/dd')

select to_date('2009/11/07','yyyy/mm/dd')

2009-11-07

select to_date('2009/11','yyyy/mm/dd')

2009-11-01

select to_date('2009','yyyy/mm/dd')

2009-01-01

作為記錄。 我自己沒有使用PostgresSQL,所以我不知道是否有本機工具或這樣做的方式。

由於這是一次操作,因此我將列的數據類型從DATE更改為TEXT,或創建一個新的TEMP TEXT列。

導入該表上的txt文件並執行查詢以添加缺少的日期(因為這並不重要,但DATE格式要求)

UPDATE table SET dateColumn = dateColumn + '/01' WHERE len(dateColumn) = 7;

請使用有效的PostgresSQL語法編寫。 您應該更新列值,並在其長度為7(YYYY / MM)時將其添加為“ / 01”。

然后,將值從temp列復制到DATE列,或將數據類型更改回DATE。 無論您之前選擇哪種方式。

聖誕快樂!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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