sql разработчик вопрос визуализации даты - PullRequest
0 голосов
/ 01 июня 2018

с тех пор, как несколько недель я начал работать над разработчиком SQL.

Я заметил важную проблему, которую не знаю, как решить.Это связано с тем, как мой SQL-разработчик визуализирует дату.

Прежде всего, вот мои настройки: enter image description here

и вот моя проблема:

select to_date('01-01-0001', 'DD-MM-YYYY') from dual;

Вместо правильной визуализации 01-01-2001, он визуализирует 03-JAN-0001

enter image description here

select select to_date('01-01-2001', 'DD-MM-YYYY') from dual;

ItИнтересно отметить, что проблема дня исчезает, когда мы меняем год.

enter image description here

1 Ответ

0 голосов
/ 01 июня 2018

Итак, это -

enter image description here

  • определяет для вашей сессии, как отображать даты и метки времени.

Пример:

enter image description here

Если вы запрашивали дату без предоставления формата даты, то он принимает указанные настройки.

Ноесли вы запросите строку и попросите Oracle обработать ее как дату

select to_date('1-1-1990', 'DD-MM-YYYY') from dual;

DD-MM-YYYY говорит Oracle, как интерпретировать вашу строку как дату.

И затемвыходные данные отображаются в формате, определенном для NLS

enter image description here

Теперь для вашего сценария год «1» - в SQL Developer 18.1 есть ошибкаэто приводит к тому, что дата возвращается как 3 против 1.

Bug 28093149 - DATE IS RETURNED INCORRECTLY FOR 01/01/0001 - COMES BACK AS 03/01/0001 
...