У меня есть запрос, который принимает дату в следующем формате:Extract месяц от даты, количества
'31 AUG 2012'
Мне нужно запрос, чтобы вернуть месяц как число. Для указанной даты, то возвращаемое значение будет 08
Я попытался следующие:
EXTRACT(MONTH FROM DATE '31 AUG 2012')
TO_DATE('31 AUG 2012', 'MM')
TO_CHAR('31 AUG 2012', 'MM')
Все это дает мне ошибки ниже соответственно:
ORA-01861: буквальный не соответствует формат ORA-01843: недействительный месяц ORA-01722: неверный номер
Как это можно сделать? Благодаря
Применение 'to_date()' на 'sysdate' есть ** полностью ** бесполезно, как' sysdate' уже дата. Хуже того, это выражение подвержено неявным настройкам NLS, основанным на преобразовании типов данных, и будет вызывать ошибку при любой среде, где формат даты по умолчанию NLS - это * не * 'dd-mon-yyyy'. Возможно, вы имели в виду, например, 'to_char()'? –