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