Как отобразить дату в другом формате в oracle

У меня есть таблица с полем дата. По умолчанию select max(date) from table; возвращает дату в формате' dd-mmm-yy'. Как выбрать дату в формате "ММ/ДД/гггг" без изменения структуры таблицы или формата поля.

спасибо, Supraja

4 ответов


select to_char(max(date), 'MM/DD/YYYY') from table;

попробуйте следующее:

select to_char(sysdate,'mm/dd/yyyy') as maxdate from dual;

некоторая информация о специфичной для oracle функции to_char ():


Проверьте функцию to_char и форматы даты/времени, которые она принимает.

select to_char(sysdate, 'MM/DD/YYYY')
from dual;

существует таблица или представление V$nls_parameters поиск здесь параметр 'NLS_DATE_FORMAT', это идеально подходит для того, чтобы не изменять формат каждый раз.

SELECT * 
  FROM v$nls_parameters WHERE UPPER(PARAMETER) = 'NLS_DATE_FORMAT';

ALTER SESSION SET NLS_DATE_FORMAT = 'YYYYMMDD'; 

есть также возможность из make для реестра win. в дереве

HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ORACLE\KEY_OraClient11g_home9

здесь ключ NLS_DATE_FORMAT, изменить для даты формата.