Сравнение даты / времени в Oracle - PullRequest
0 голосов
/ 11 августа 2011

В настоящее время в моей таблице оракулов у меня есть следующее условие, если в моей процедуре

if TO_CHAR(updatetime, 'DD-MON-YYYY HH:MI:SS') != '01-JAN-1900 00:00:01' then

Предположим, что время обновления значения из таблицы оракулов "01-JAN-1900 12:00:01 AM", будет ли мое условие if истинным или ложным?

Причина, по которой я спрашиваю, заключается в том, что я не уверен насчет формата, в который преобразуется TO_CHAR.Значение в таблице представлено в формате 12-часовых часов, а условие сравнивается с 24-часовым форматом.

Это моя первая неделя работы с оракулом sql.

Спасибо!

Ответы [ 2 ]

5 голосов
/ 11 августа 2011

Как сказал @Tony Andrews, но вы, вероятно, хотите, чтобы ваш to_char конвертировался в 24-часовые часы, если вы сравниваете его со строкой, содержащей значение 24-часовых часов. Измените HH на HH24 следующим образом:

if TO_CHAR(updatetime, 'DD-MON-YYYY HH24:MI:SS') != '01-JAN-1900 00:00:01' then 
3 голосов
/ 11 августа 2011

Столбцы Oracle DATE не содержат дату в виде отформатированной строки, она хранится (внутри) в виде 7 числовых значений: век, год, месяц, день, час, минута, секунда.Поэтому не имеет значения, какой формат вы используете в TO_CHAR.

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