簡體   English   中英

postgres 中的時間戳轉換 SQL

[英]Timestamp conversion in postgres SQL

問題

如何將 2022-06-14T12:47:00.560Z 轉換為 YYYY-MM-DD HH:mm:ss (2022-06-14 12:47:00)

我試過的是

select to_timestamp(to_char('2022-06-14T13:04:00.610Z','YYYY-MM-DD HH24:MI:SS'))
select to_timestamp('2022-06-14T13:04:00.610Z','YYYY-MM-DD HH24:MI:SS')

我遇到了什么問題

連接到 PostgreSQL 時出錯 sql 執行失敗 'select to_timestamp(to_char('2022-06-14T13:04:00.610Z','YYYY-MM-DD HH24:MI:SS'))': TEIID30068 8834004065_8988'to_char( '2022-06-14T13:04:00.610Z', 'YYYY-MM-DD HH24:MI:SS')' 是未知形式。 檢查function姓名和arguments號碼是否正確。

連接到 PostgreSQL 時出錯 sql 執行失敗 'select to_timestamp('2022-06-14T13:04:00.610Z','YYYY-MM-DD HH24:MI:SS')': TEIID30068 function'to_timestamp-( 06-14T13:04:00.610Z', 'YYYY-MM-DD HH24:MI:SS')' 是未知形式。 檢查function姓名和arguments號碼是否正確。

請幫我轉換。

你可以做:

select to_timestamp('2022-06-14T13:04:00.610Z','YYYY-MM-DD"T"HH24:MI:SS')

請參閱DB Fiddle中的運行示例。

編輯

我雖然你只需要解析時間戳。 現在我意識到您想將其格式化回字符串。 您可以添加to_char()以根據需要對其進行格式化。

例如:

select
  to_char(
    to_timestamp('2022-06-14T13:04:00.610Z','YYYY-MM-DD"T"HH24:MI:SS'),
    'YYYY-MM-DD HH24:MI:SS'
  );

請參閱更新的小提琴

您可以使用內置的 timestamo 轉換

SELECT timestamp '2022-06-14T13:04:00.610Z'
  | 時間戳 |  |:------------------------ |  |  2022-06-14 13:04:00.61 |
 SELECT '2022-06-14T13:04:00.610Z'::timestamp
  | 時間戳 |  |:------------------------ |  |  2022-06-14 13:04:00.61 |

db<> 在這里擺弄

您可以使用 date_trunc

 SELECT date_trunc('second',timestamp '2022-06-14T13:04:00.610Z')
  | 日期截斷 |  |:-------------------- |  |  2022-06-14 13:04:00 |
 SELECT date_trunc('second','2022-06-14T13:04:00.610Z'::timestamp)
  | 日期截斷 |  |:-------------------- |  |  2022-06-14 13:04:00 |

db<> 在這里擺弄

暫無
暫無

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

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