我在列中保存了交易时间,格式为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
答案 0 :(得分:2)
时间数据类型只是时间 - 而不是格式。为了获得所需格式的时间,请使用to_char
,例如来自140159
:
t=# select to_char('140159'::time,'HH:MI AM');
to_char
----------
02:01 PM
(1 row)
介意我第一次投射时间,然后再格式化