Я недавно написал инструмент, который извлекает определенные данные из наших БД. Он запускается как скрипт PL / SQL, работающий в SQLDeveloper (либо на листе, либо в виде плагина расширения), и выводит его в окно журнала SQLDeveloper.
Это отлично работает в моей системе, но теперь я возникла проблема, когда пользователи работают в системах с другим языком или более определенным c с другими форматами времени / даты / метки времени по умолчанию, чем на компьютере, на котором я разрабатывал и тестировал это.
Сейчас - я Я не уверен: формат даты, времени и меток времени контролируется БД или SLQ-Developer? В моем понимании эти сценарии PL / SQL отправляются в БД для исполнения, а их вывод отправляется обратно в SQL -Developer. Для меня это означало бы, что формат вывода зависит исключительно от БД (или системы, в которой БД выполняется). Или здесь как-то задействованы настройки NLS клиента (SQL -Developer)?
Чтобы мой инструмент автоматически настраивался на эти настройки, мне нужно будет иметь возможность запрашивать эти форматы - либо из БД используется (Oracle 12.2 или Oracle XE 18/19 в нашем случае) или от SQLDeveloper.
Предполагается, что это БД: есть ли таблица, содержащая строки формата по умолчанию, которые используются для выбрать результаты?
Примечание: Дело не в том, как форматировать даты и т.д. c. как строки, но наоборот: я получаю результаты запроса в виде строк в окне журнала. Они содержат даты и метки времени. Теперь мне нужен совет от DB-системы, чтобы понять, как их интерпретировать. Например, когда я получу дату, например, «10 -11-12», это будет 10 ноября 2012 года или 12 ноября 2010 года?
Надеюсь, я смогу прояснить это. ..