Установка NLS_DATE_FORMAT на администратора - PullRequest
0 голосов
/ 03 октября 2019

Я использую Adminer 4.7.3 для подключения к оракулу DB и хочу отображать даты в формате, отличном от того, который установлен по умолчанию ('DD-MON-YY'). Я попытался использовать команду ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH:MI:SS', но она длится только для этого запроса и возвращается к старому формату даты, как только я снова открываю таблицу. Есть ли лучший способ заставить дату отображаться в другом формате?

1 Ответ

1 голос
/ 03 октября 2019

У вас есть несколько вариантов. Во-первых, вы можете выполнять

ALTER SESSION SET NLS_DATE_FORMAT = 'DD-MON-YYYY HH:MI:SS'

при каждом входе в систему. Если вы не хотите этого делать, вы можете:

  1. Если вы используете * nix:

    setenv NLS_DATE_FORMAT "dd-mon-yyyy hh:mi:ss"

  2. Если вы используете Windows:

    Панель управления-Система-Расширенные настройки системы-Переменные среды и создайте переменную среды NLS_DATE_FORMAT с соответствующей настройкой.

  3. Если вы хотите полностью зависящее от базы данных решение, вы можете использовать триггер ON LOGON, подобный следующему:

    CREATE OR REPLACE TRIGGER DATABASE_AFTER_LOGON AFTER LOGON ON DATABASE BEGIN EXECUTE IMMEDIATE 'ALTER SESSION SET NLS_DATE_FORMAT = ''DD-MON-YYYY HH:MI:SS'''; END DATABASE_AFTER_LOGON;

...