Postgresql

將特定時間格式轉換為常用格式

  • July 7, 2021
  • 環境:

我將“持續時間”數據儲存為表中的 varchar(4)。2個第一個字元是hours,2個最後一個字元是minutes。例如:

0100 means 01:00
0456 means 04:56

等等…


  • 我需要的:

我必須進行一個查詢,將該欄位檢索為通用時間格式:HH:MM


  • 我試過的:

目前沒有真正的線索。我試圖將我的值轉換為interval,但它的行為不像預期的那樣

> SELECT time_field, time_field::interval FROM myTable...

> OUTPUT:
0100    |    01:40
0120    |    02:00
0179    |    02:59

我想避免使用子字元串':'在 2 個字元對之間添加。

任何幫助表示讚賞。謝謝。

您可以先創建一個timestamp,然後將其轉換為一個time值:

select time_field, to_timestamp(time_field, 'hh24mi')::time
from the_table

引用自:https://dba.stackexchange.com/questions/295342