簡體   English   中英

Postgres 時間戳到 DATE dd-mm-yyyy

[英]Postgres Timestamp to DATE dd-mm-yyyy

我試圖在表中插入一列時間戳,如 02-09-2021 00:00:00,我需要將此時間戳轉換為日期 dd-mm-yyyy,我已嘗試將 select 日期(列)作為 newdate但是當我檢查我的表格插入時,它就像時間戳一樣,我嘗試的所有解決方案都只能在 select 句子中完美運行,但是當我嘗試插入 select 時......我保持時間戳類型..

如果您需要將格式化文本轉換為timestamp文本,請使用帶有明確格式規范的to_timestamp 嘗試這個:

select to_timestamp('02-09-2021 00:00:00', 'dd-mm-yyyy hh24:mi:ss');
to_timestamp
2021-02-09 00:00:00.000 +0200

要將其轉換為date

select to_date('02-09-2021 00:00:00', 'dd-mm-yyyy');

如果您需要將現有timestamp列的類型更改為date ,則:

alter table the_table alter column the_column type date using the_column::date;

如果您要作為字符串插入表中,則可以從該值創建 substring,因為您只想存儲時間戳的日期。

為此,您可以這樣做,

SELECT timestamp,
substring(timestamp, 1, 10) // <- Indexes start at 1 and dd-mm-yyyy are 10 in total)
from timestamp_column;

或者,您可以創建一個 function 並通過使用::timestamp::date為方法添加后綴,您可以僅提取日期部分。

舉個例子,

select '02-09-2021 00:00:00'::timestamp::date;

返回2021-02-09 從此您可以轉換為所需的格式。

暫無
暫無

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

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