2011-01-14 4 views
0

Как изменить формат даты, например, данные в базе данных в качестве входных представляют, 01-jan-10, но как я могу получить результат как 01-янв-2010. И есть некоторые даты, которые 01-dec-99, которые должны быть представлены как 01-дек-1999. Как это можно сделать?Преобразование даты Oracle

Благодаря

ответ

1

Вы можете датировать формат с TO_CHAR как: TO_CHAR(<YOUR_DATE_COLUMN>, 'DD-MON-RRRR')

например:

SELECT TO_CHAR(SYSDATE-5000, 'DD-MON-RRRR') MYDATE FROM DUAL 
UNION 
SELECT TO_CHAR(SYSDATE, 'DD-MON-RRRR') MYDATE FROM DUAL 
+0

, но как понять, если это 01-января-1999 или 01-января-2099 ?? – iims

+0

DATE хранится в Oracle во внутреннем формате. То, что вы видите на выходе, - это формат, заданный параметром NLS. Когда вы используете формат, указанный мной, DB будет отображать его соответственно, т.е. 1999 или 2099, в зависимости от того, что хранится. – Chandu

+0

Попробуйте конструкцию, которую вы сначала поймете. – Chandu