Оракул конвертировать ДД-МОН-ГГ в ДД / ММ / ГГГГ
Я пытаюсь преобразовать формат столбца varchar2 из "DD-MON-YY" в "DD / MM / YYYY".
Например: с01 января по 16января 2016 года
Если вы можете спросить или это может помочь:
- Часть "MON" на английском языке, но мои текущие настройки NLS на турецком языке.
- Все годы после 2000 года.
Как я могу это сделать? Заранее спасибо..
2 ответа
Если вы не предоставите NLS_DATE_LANGUAGE
Параметр, будет использоваться ваш собственный параметр сеанса.
Вы можете переопределить это так:
select TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY', 'NLS_DATE_LANGUAGE = English'),
'DD/MM/YYYY') from dual;
Это повлияет только на этот запрос, ничего больше. Если вам нужно поработать со многими подобными датами,
ALTER SESSION SET NLS_DATE_LANGUAGE='ENGLISH'
- затем вы можете изменить его позже или сбросить на турецкий, когда закончится этот сеанс, и вы начнете другой сеанс.
Если вам нужно, чтобы это изменение было (почти) постоянным, внесите его в свои настройки в SQL Developer или Toad или в login.sql для SQL*Plus.
Попробуй это:
TO_CHAR(TO_DATE('01-JAN-16','DD-MON-YY'),'DD/MM/YYYY')
Ваши данные должны быть чистыми - все должно соответствовать исходному формату, иначе вы столкнетесь с ошибками при преобразовании TO_DATE.
Перейдите в Инструменты -> Настройки -> База данных —-> NLS -> Формат даты и измените дату на ДД / ММ / ГГГГ.
Oracle SQL Developer Версия 18.4.0.376 Build 376.1900