如何在postgres中将12小时时间戳格式转换为24小时时间戳格式?喜欢' 2016-07-01 01:12:22 PM'到' 2016-07-01 13:12:22'
答案 0 :(得分:1)
timestamp
(或date
,time
,integer
或任何类型的非字符类型)中的值不会以任何特定格式存储。
您所见的任何格式由您正在使用的应用程序应用显示值 - 通常是您正在使用的SQL客户端。
有两种方法可以改变它:
使用the_char()
函数通过SQL格式化时间戳值
select to_char(the_column, 'yyyy-mm-dd hh24:mi:ss')
from the_table
有关可用格式的更多详细信息,请参阅手册:https://www.postgresql.org/docs/current/static/functions-formatting.html#FUNCTIONS-FORMATTING-DATETIME-TABLE
答案 1 :(得分:1)
要将24小时转换为12小时:
select to_char( to_timestamp ( '13:00:00', 'HH24:MI:SS' ) , 'HH12:MI:SS PM' )
from emp_table;
要将12小时转换为24小时:
select to_char( to_timestamp ( '11:00:00' , 'HH12:MI:SS' ) , 'HH24:MI:SS AM' )
from emp_table;
答案 2 :(得分:0)
很容易,只需按照以下方式进行投射:
SELECT '2016-07-01 01:12:22 PM'::timestamp;
timestamp
---------------------
2016-07-01 13:12:22
(1 row)