sql - postgresql - 将字符串转换为时间

标签 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

最佳答案

时间数据类型只是时间——不是一种格式。要获得所需格式的时间,请使用 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/

相关文章:

postgresql - 将数据库从生产恢复到开发

java - 两个日期之间的天数

SQL 在数字字段中搜索非整数

sql - 关于PostgreSQL性能的两个问题

postgresql - setval 和 alter sequence restart 命令之间的区别

sql - 使用正则表达式替换部分 json(另存为 varchar)

sql-server - Sql Server 日期类型在 MS Access 中显示为文本字段

ios - datepicker ios 中的开始日期到结束日期

sql - 列 'tblGender.ID' 与外键 'tblPerson.GenderID' 中引用列 'tblPerson_GenderID_FK' 的数据类型不同

php - 交易引擎填充或终止