Как установить пользовательский формат даты и времени в Oracle SQL Developer?


198

По умолчанию разработчик Oracle SQL отображает значения даты в виде 15-NOV-11. Я хотел бы видеть часть времени (час / минута / секунда) по умолчанию.

Есть ли способ настроить это в Oracle SQL Developer?


У меня были серьезные проблемы с этим раньше. Я могу исправить это для сеанса, но как только я закрою SQL Developer, а затем перезапущу его, я потеряю настройку. Так что это решение, которое я могу предложить, не является постоянным.
Бретт Уокер

Вы можете добавить это ответ? @BrettWalker, это лучше, чем ничего.
ComforblyNumb

5
Какое смешное значение по умолчанию для типа данных, называемого «ДАТА», который на самом деле сохраняет точность до второго. Должно быть, это потратило много времени людей.
WW.

Ответы:


398

Вы можете изменить это в настройках:

  1. В меню Oracle SQL Developer откройте: Инструменты > Настройки .
  2. В диалоговом окне « Настройки » выберите « База данных» > « NLS» на левой панели.
  3. Из списка параметров NLS введите DD-MON-RR HH24:MI:SSв поле « Формат даты» .
  4. Сохраните и закройте диалог, готово!

Вот скриншот:

Изменение настроек формата даты в Oracle SQL Developer


1
Я использую SQLDeveloper на Linux, и этот параметр у меня не работает .. Любой другой способ?
Филипе

3
Независимо от того, какой формат я поставил, он игнорируется. Я вижу, что это генерируется в sql: to_date ('02 -OCT-14 ',' YYYY-MM-DD '), так что теперь мой sql просто сломан.
Джеймс Уоткинс

этот формат не работает для меня, возможно, из-за различий в локали платформы ... посмотрите мой ответ, если этот не работает
Donatello

2
где хранится этот параметр? в БД или SQL Developer?
Инструментарий

44

Я наткнулся на этот пост, пытаясь изменить формат отображения даты в sql-developer. Просто хотел добавить к этому то, что узнал:

  • Чтобы изменить формат отображения по умолчанию, я бы использовал шаги, предоставляемые ousoo, т.е. Инструменты> Настройки> ...
  • Но во многих случаях я просто хочу сохранить DEFAULT_FORMAT, изменяя формат только во время нескольких связанных запросов. Тогда я бы изменил формат сессии следующим образом:

    alter SESSION set NLS_DATE_FORMAT = 'my_required_date_format'

Например:

   alter SESSION set NLS_DATE_FORMAT = 'DD-MM-YYYY HH24:MI:SS' 

26

В Oracle SQL Developer 3.2.20.09 мне удалось установить пользовательский формат для типа DATE следующим образом:

В: Инструменты> Настройки> База данных> NLS

Или: Outils> Preféferences> Base de donées> NLS

ГГГГ-ММ-ДД ЧЧ24: МИ: СС

Скриншот меню настроек

Обратите внимание, что следующий формат не работает для меня:

DD-MON-RR HH24: MI: SS

В результате он сохраняет формат по умолчанию, без каких-либо ошибок.


3

Для тех, кто все еще имеет проблемы с этим; Я случайно нашел эту страницу из Google ...

Поместите это так (NLS Parameters) ... это мне нравится в SQLDeveloper v3.0.04:

DD-MON-YY HH12:MI:SS AM or for 24-Hour, DD-MON-YY HH24:MI:SS 

Важно отметить, что маркер формата «AM» удален для 24-часового формата. Если используются токены «AM» и «HH24», «AM» заменяет «HH24».
macawm

2

В моем случае формат, установленный в Предпочтения / База данных / NLS, был [Формат даты] = RRRR-MM-DD HH24: MI: SSXFF, но в сетке были видны 8 вероятно формат по умолчанию RRRR / MM / DD (даже без времени) Формат имеет изменилось после изменения настройки [Формат даты] на: RRRR-MM-DD HH24: MI: SS (без 'XFF' в конце).

Ошибок не было, но формат с xff в конце не работал.

Примечание: в польском обозначении RRRR означает YYYY


2
TL; DR: без 'XFF' в конце
Роберт Анджейюк

В Oracle дата НЕ имеет доли секунды. Отметка времени делает. Итак, Oracle пытается помочь, не позволяя вам указать что-то, что не будет работать.
Рой Лэтэм

0

Когда я скопировал формат даты для метки времени и использовал его для даты, он не работал. Но изменение формата даты на это (DD-MON-YY HH12: MI: SS AM) сработало для меня.

Изменение должно быть сделано в Инструменты-> Настройки-> Поиск NLS.


0

Перейдите в Инструменты> Настройки. В дереве выберите База данных> NLS. Доступны три формата даты / времени: дата, отметка времени и отметка времени TZ. Редактирование формата даты дает желаемый эффект.

Как я уже сказал выше; этот подход не дал мне постоянного изменения.


jsyk, ваш профиль напоминает мне о Дон Корлеоне (неправильное место для такого комментария)
Джонатан душ Сантуш

0

SQL Developer Версия 4.1.0.19

Шаг 1: Зайдите в Инструменты -> Настройки

Шаг 2: Выберите База данных -> NLS

Шаг 3: перейдите к формату даты и введите DD-MON-RR HH24: MI: SS

Шаг 4: Нажмите ОК.


-1

У меня есть связанная проблема, которую я решил и хотел сообщить людям о моем решении. Используя SQL Developer, я экспортировал из одной базы данных в CSV, а затем попытался импортировать его в другую базу данных. Я продолжал получать ошибку в моих полях даты. Мои поля даты были в формате Timestamp:

28-JAN-11 03.25.11.000000000 PM

Приведенное выше решение (изменение настроек NLS) не работало для меня при импорте, но я наконец-то получил следующее:

На экране «Определение столбца мастера импорта» я ввел « DD-MON-RR HH.MI.SSXFF AM» в поле «Формат», и он, наконец, успешно импортирован. К сожалению, у меня есть десятки полей даты, и, насколько мне известно, нет способа систематически применять этот формат ко всем полям даты, поэтому мне пришлось делать это вручную .... вздох. Если кто-нибудь знает лучший способ, я буду рад это услышать!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.