ORA-00904: «Формат»: неверный идентификатор
Вопрос
Я пытаюсь отформатировать дату:
FORMAT(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
Но я получаю следующую ошибку:
ORA-00904: «Формат»: неверный идентификатор
Прямо сейчас дата показывает полную метку времени. Любые предложения о том, как решить эту проблему, или любой другой способ отформатировать дату, чтобы просто показать четырехзначный год?
Решение
Используйте эту функцию:
TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
Другие советы
Вы хотите использовать TO_CHAR
вместо FORMAT
Здесь, как это:
TO_CHAR(table.TCKT.TCKT_ISS_DATE, 'YYYY') AS TICKETYEAR
Oracle использует TO_CHAR
для литья строки, Вы можете увидеть здесь для дополнительных вариантов формата.
Есть также возможность использования EXTRACT()
который является стандартом ANSI и портативным:
EXTRACT(YEAR FROM table.TCKT.TCKT_ISS_DATE) AS ticketyear
Не связан с StackOverflow