PostgreSQL无时区timestamp转换异常问题求助
问题分析与解决:to_char转换时间时分钟异常的问题
嘿,这个问题我一眼就看穿啦——你在to_char的格式字符串里踩了个超容易犯的小坑!
你用的'DD/MM/YYYY hh24:mm:ss'里,mm其实是月份的格式化符,可不是分钟哦!你的原始时间是12月(对应数值12),所以转换时把本该显示分钟的位置替换成了月份的12,这就导致时间从06:56变成了06:12,平白少了44分钟。
正确的分钟格式化符是mi,你只需要把格式字符串改成下面这样就行:
to_char(date_field, 'DD/MM/YYYY hh24:mi:ss')
咱们用你的原始时间2017-12-26 06:56:54.958测试一下,用正确格式转换后,就能得到26/12/2017 06:56:54,完全符合预期。
顺便给你补充几个PostgreSQL里常用的时间格式符,避免再踩类似的坑:
mm:月份(01-12)mi:分钟(00-59)ss:秒(00-59)hh24:24小时制的小时(00-23)
内容的提问来源于stack exchange,提问作者TAR
相关产品推荐
相关产品推荐

