Дата в отдельном поле - PullRequest
0 голосов
/ 31 мая 2018

Я извлекаю данные из таблицы в Oracle SQL Developer, в которой есть поля: Id number, YEAR, DAY и MONTH.Поля YEAR, DAY, MONTH имеют тип данных NUMBER.

Я хочу получить данные из этой таблицы, где Год находится между sysdate и 5 лет назад.У меня проблема с этими полями, являющимися числовым полем, и они находятся в отдельных столбцах.Может ли кто-нибудь помочь мне с этим?

Ответы [ 2 ]

0 голосов
/ 31 мая 2018

Это плохой дизайн, хранящий отдельные компоненты даты в разных столбцах (боюсь, вы скоро заметите проблемы).

Попробуйте это:

WHERE TO_DATE(YEAR||'-'||MONTH||'-'||DAY 'YYYY-MM-DD') BETWEEN ADD_MONTHS(SYSDATE, -5*12) AND SYSDATE
0 голосов
/ 31 мая 2018
SELECT *
FROM YOUR_TABLE
WHERE TO_NUMBER(YOUR_TABLE."YEAR")>=TO_NUMBER(TO_CHAR(SYSDATE - INTERVAL '5' YEAR, 'YYYY'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...