日期字段上的to_char给出了意外结果

时间:2019-06-20 17:35:44

标签: sql oracle datetime

看看下面的两个陈述,谁能告诉我为什么我从第二个陈述中得到的时间是“ 11:07”。鉴于第一条语句返回23:00,我预计时间为“ 11:00 PM”。

 select early_shpdte
   from shipment
  where ship_id = '3644783_02_94874_5835330-01'

结果:2019年7月9日23:00:00

 select to_char(early_shpdte, 'MM/DD/YYYY HH:MM AM')
   from shipment
  where ship_id = '3644783_02_94874_5835330-01'

结果:2019年7月9日晚上11:07

1 个答案:

答案 0 :(得分:4)

您已使用MM两次,因此时间部分中的“分钟”值实际上是月份数。您想要:

select to_char(early_shpdte, 'MM/DD/YYYY HH:MI AM')
--------------------------------------------^^
  from shipment
 where ship_id = '3644783_02_94874_5835330-01'

格式模型元素为in the documentation