我有保存交易时间的列,格式是 HHMMSS 例如:
140159
013115
235900
然后我想将这些时间转换为 HH:MM AM/PM 所以结果将是:
2:01 PM
1:31 AM
11:59 PM
这是我尝试过的查询,但没有一个返回我想要的结果..
SELECT TO_CHAR(TO_TIMESTAMP(TRANSTIME,'hh24:mi:ss AM'),'hh12:mi:ss AM')
FROM PRODUCTSALES order by TRANSTIME desc LIMIT 100
SELECT TO_TIMESTAMP(TRANSTIME, 'HH24:MI')::TIME
最佳答案
时间数据类型只是时间——不是一种格式。要获得所需格式的时间,请使用 to_char
,例如从您的 140159
:
t=# select to_char('140159'::time,'HH:MI AM');
to_char
----------
02:01 PM
(1 row)
请注意,我先将其转换为时间,然后再对其进行格式化
关于sql - postgresql - 将字符串转换为时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43801945/