Если столбец является типом данных даты, то только ваши настройки NLS_DATE
заставляют их отображаться в формате DD-MON-YYYY
.
Чтобы проверить текущий формат NLS_DATE, выполните следующее:
SELECT value
FROM V$NLS_Parameters
WHERE parameter ='NLS_DATE_FORMAT';
Oracle хранит все даты во внутреннем двоичном формате и использует формат NLS_DATE для их отображения (если явно не указано, чтобы они отображались иначе).
Вы можете изменить настройки NLS_DATE
на MM/DD/YYYY
или TO_CHAR
столбец даты, используя:
TO_CHAR(<date_column>, 'MM/DD/YYYY')
чтобы увидеть нужный вам формат.
Вы можете изменить формат NLS_DATE для текущего сеанса или изменить параметры базы данных, чтобы изменить формат NLS_DATE по умолчанию для самой базы данных.
Если столбец относится к типу VARCHAR2, вам необходимо сначала преобразовать его в дату, а затем отформатировать выходные данные одним из описанных выше способов.
См .: http://ss64.com/ora/syntax-nls.html
и: http://www.dba -oracle.com / t_nls_date_format_sysdate.htm
, например
SELECT TO_CHAR(sysdate, 'MM/DD/YYYY') as current_date
FROM dual;
или
ALTER SESSION SET NLS_DATE_FORMAT = 'MM/DD/YYYY';
SELECT sysdate
FROM dual;
В чистом PL / SQL
DECLARE
v_date DATE := sysdate;
BEGIN
DBMS_OUTPUT.put_line(TO_CHAR(v_date, 'MM/DD/YYYY'));
END;