to_char в поле даты, дающее неожиданные результаты - PullRequest
1 голос
/ 20 июня 2019

Глядя на два утверждения ниже, кто-нибудь может сказать мне, почему я получаю «11:07» на время из второго утверждения. Я ожидаю «11:00 вечера» в течение времени, учитывая, что первый оператор возвращает 23:00.

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

Результат: 07-09-2019 23: 00: 00

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

Результат: 09.07.2009, 23:07

1 Ответ

4 голосов
/ 20 июня 2019

Вы использовали MM дважды, поэтому значение 'минуты' во временной части фактически является номером месяца.Вы хотите:

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

Элементы модели формата в документации .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...