Проверьте дату менее 90 лет в оракуле sql - PullRequest
0 голосов
/ 11 апреля 2019

У меня есть состояние, при котором мне нужно. Дата рождения должна быть меньше системной, а не нулевой, возраст менее 90 лет, после чего включить в таблицу. Я не знаю, как использовать возраст менее 90 в запросе

Запрос:

INSERT INTO table2 (dob)

SELECT dob
FROM table1
WHERE dob <= sysdate
AND dob IS NOT NULL;

Скажите, пожалуйста, как использовать в запросе менее 90 лет

Спасибо

Ответы [ 3 ]

2 голосов
/ 11 апреля 2019

Вот один из вариантов:

SELECT dob
FROM table1
WHERE
    TRUNC(MONTHS_BETWEEN(sysdate, dob) / 12) < 90 AND
    dob IS NOT NULL;
0 голосов
/ 11 апреля 2019

Я предпочитаю работать с interval константами для запросов такого типа:

select *
from table1
where dob > trunc(sysdate) - interval '90' year;

Нет необходимости добавлять дополнительное условие dob is not null, потому что dob > ... будет возвращать что-то, только если dobне является нулевым

0 голосов
/ 11 апреля 2019

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

SELECT dob
FROM table1
WHERE dob > ADD_MONTHS(sysdate, -90*12)
AND dob IS NOT NULL;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...