postgresql - 将字符串转换为时间

时间:2017-05-05 09:56:26

标签: sql postgresql date time

我在列中保存了交易时间,格式为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

1 个答案:

答案 0 :(得分:2)

时间数据类型只是时间 - 而不是格式。为了获得所需格式的时间,请使用to_char,例如来自140159

t=# select to_char('140159'::time,'HH:MI AM');
 to_char
----------
 02:01 PM
(1 row)

介意我第一次投射时间,然后再格式化