дата ФОРМАТ И ДОБЫЧА ЗНАЧЕНИЙ ДАТЫ - PullRequest
0 голосов
/ 07 мая 2019

Я пытался преобразовать формат даты, чтобы можно было извлечь значения за годы, которые я хочу.пожалуйста, помогите

Я пробовал это.формат даты был отметкой времени.код успешен, теперь формат даты dd-mon-rr, но я не могу использовать функцию EXTRACT, чтобы получить значения за те годы, которые я хочу.

MM.NEEDDATE

TO_CHAR((SELECT MM.NEEDDATE FROM DUAL ), 'DD-MON-RR') AS MATERIALNEEDDATE 

Я пытался получить это значение для года> 2018

(EXTRACT(YEAR FROM TO_DATE(MM.NEEDDATE, 'DD-MON-RR'))> 2018)

, но я получаю сообщение об ошибке типа

ORA-01830: формат датыизображение заканчивается перед преобразованием всей входной строки 01830. 00000 - «изображение формата даты заканчивается перед преобразованием всей входной строки» * Причина:
* Действие:

успешно преобразовано в формат даты. Фактическим форматом является метка времени

TO_CHAR((SELECT MM.NEEDDATE FROM DUAL ), 'DD-MON-RR') AS MATERIALNEEDDATE

не удалось извлечь дату для года> 2018 попытался -

(EXTRACT(YEAR FROM TO_DATE(MM.NEEDDATE, 'DD-MON-RR'))> 2018)

ОШИБКА ORA-01830: изображение в формате даты заканчивается перед преобразованием всей входной строки 01830. 00000 - "датаформатирование изображения заканчивается перед преобразованием всей входной строки "* Причина:
* Действие:

В столбце нужной даты есть значения даты для многих лет. Я хочу получить значение только для года> 2018.

Можно ли сделать это без форматирования даты и как ??

1 Ответ

1 голос
/ 07 мая 2019

Я не думаю, что вам нужно to_date(), потому что вы используете TO_CHAR() для столбца (преобразование строки в строку обычно не так, как используется функция).

Вы пробовали это?

EXTRACT(YEAR FROM MM.NEEDDATE) > 2018

Или проще:

MM.NEEDDATE >= DATE '2019-01-01'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...