Як я можу встановити спеціальний формат часу дати в Oracle SQL Developer?


198

За замовчуванням розробник Oracle SQL відображає значення дати як 15-NOV-11. Я хотів би бачити за замовчуванням часову частину (година / хвилина / секунда).

Чи є спосіб налаштувати це в Oracle SQL Developer?


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

Чи можете ви додати на нього відповідь? @BrettWalker, це краще, ніж нічого.
Зручно,

5
Який смішний дефолт для типу даних під назвою "DATE", який фактично зберігає точність до другого. Це, мабуть, витрачало багато людей часу.
ВВ.

Відповіді:


398

Ви можете змінити це в налаштуваннях:

  1. У меню розробника Oracle SQL перейдіть до: Інструменти > Налаштування .
  2. У діалоговому вікні Налаштування виберіть База даних > NLS на панелі ліворуч.
  3. Із списку параметрів NLS введіть DD-MON-RR HH24:MI:SSу поле Формат дати .
  4. Збережіть і закрийте діалогове вікно, готово!

Ось скріншот:

Зміна налаштувань формату дати в розробнику Oracle SQL


1
Я використовую SQLDeveloper на Linux, і ця настройка не працює для мене .. будь-яким іншим способом?
Філіпе

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

цей формат для мене не працює, можливо, через відмінності в локалі платформи ... дивіться мою відповідь, якщо цей не працює
Donatello

2
де цей параметр зберігається? в DB або 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> Préférences> Base de donées> NLS

РРРР-ММ-ДД HH24: MI: SS

Скріншот меню налаштувань

Зауважте, що наступний формат для мене не працює :

DD-MON-RR HH24: MI: SS

Як результат, він зберігає формат за замовчуванням, без будь-яких помилок.


3

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

Помістіть це так (Параметри NLS) ... він дотримується мене в SQLDeveloper v3.0.04:

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

Важливо зазначити, що маркер формату AM вилучається для цілодобового формату. Якщо використовуються як маркування "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 означає РРРР


2
TL; DR: без 'XFF' наприкінці
Роберт Анджежук

У Oracle дата не має частки дробових секунд. Часова позначка робить. Отже, Oracle намагається бути корисним, не даючи вам вказати щось, що не спрацює.
Roy Latham

0

Коли я скопіював формат дати для позначки часу і використав цю дату, він не працював. Але зміна формату дати на цю (DD-MON-YY HH12: MI: SS AM) працювала для мене.

Зміни потрібно внести в Інструменти-> Налаштування-> пошук NLS


0

Перейдіть до Інструменти> Налаштування. У дереві виберіть База даних> NLS. Доступні три формати дати / часу: дата, мітка часу та часова марка TZ. Редагування формату дати дає бажаний ефект.

Як я вже говорив вище; такий підхід не дав мені постійних змін.


jsyk, ваш профіль малюнка нагадує мені про дона Корлеоне (неправильне місце для такого коментаря)
Jonathan dos Santos

0

Версія для розробників SQL 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.