[英]Incorrect Output when converting TEXT to Date ('yyyy-mm-dd') format (Postgresql)
在我使用以下代碼將列“生日”(表:動物)從 CHAR 轉換為日期后,將顯示年份不正確的日期。
這是“生日”在字符格式中的樣子:
代碼:
ALTER TABLE animals ALTER COLUMN birthdate TYPE DATE
using to_date(birthdate, 'YYYY-MM-DD');
我得到的輸出是這樣的:
它應該是:
似乎日期的 yyyy 部分中的“2”被替換為“0”。 這是不正確的,知道為什么會這樣嗎? 我想要的格式是'yyyy-mm-dd'。
感謝您的幫助。
我假設birthday
的初始數據類型是文本。 在這種情況下,您的格式字符串YYYY-MM-DD
與數據格式不匹配。 它應該是MM/DD/YYYY
。
ALTER TABLE animals ALTER COLUMN birthdate TYPE DATE
using to_date(birthdate, 'MM/DD/YYYY');
請注意,一旦birthdate
類型更改為date
(或者它是date
並且根本不需要alter table
),它就不再有格式了。 您可以根據需要使用to_char
格式化或呈現它。
select to_char(birthdate, 'YYYY-MM-DD');
您需要對列類型進行類型轉換。 試試下面的查詢。
ALTER TABLE animals ALTER birthdate type date
using (birthdate::date)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.