SQL-запрос, чтобы найти людей, где возраст ниже определенного значения - PullRequest
0 голосов
/ 30 октября 2018

Я пытаюсь найти всех лиц моложе 40 лет, я попытался запросить после просмотра документации:

SELECT p.FirstName, p.LastName
FROM Person AS p
WHERE 40 <= DATEDIFF(CURRENT DATE, p.DateOfBirth, 'YEAR');

Однако мне возвращается сообщение об ошибке:

No authorized routine named "DATEDIFF" of type "FUNCTION" having compatible arguments was 
found

Тем не менее я уже видел DATEDIFF, используемый в DB2 SQL.

Ответы [ 3 ]

0 голосов
/ 30 октября 2018

менее 40 лет ...

SELECT p.FirstName, p.LastName
FROM Person AS p
WHERE  dateofbirth + 40 years >= current date
0 голосов
/ 30 октября 2018

p.DateOfBirth >= current date - 40 years

0 голосов
/ 30 октября 2018

Вы можете использовать year функцию:

SELECT p.FirstName, p.LastName FROM Person AS p WHERE year(current date - dateofbirth) < 40

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...