SQL уравнение тока твой минус другой год? - PullRequest
0 голосов
/ 25 мая 2018

У меня есть таблица с именами и годом рождения доктора.На индексной странице мне нужно показывать только врачей, которым не исполнилось 40 лет.Мне нужно вычесть год рождения из текущего года и показать результат только под 40 ...

SELECT * FROM `doctor` WHERE dateadd(year, `date_birthday`, getdate())

Я пытаюсь привести дату sa к дате как к дате, но каждый раз, когда она возвращается, NULL

SELECT id,CAST((CURDATE()-date_birthday) AS DATE) AS difference FROM doctor

Ответы [ 2 ]

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

Вы не указываете базу данных, и ваше форматирование несовместимо.Стандартный синтаксис ANSI будет следующим:

SELECT d.*
FROM doctor d
WHERE date_birthdate >= CURRENT_DATE - INTERVAL '40 YEAR';

Функции даты / времени различаются в зависимости от базы данных, поэтому это может не работать в вашей конкретной базе данных.Следовательно, нужен тег базы данных.

Например, в MySQL вы бы отбросили одинарные кавычки:

SELECT d.*
FROM doctor d
WHERE date_birthdate >= CURRENT_DATE - INTERVAL 40 YEAR;
0 голосов
/ 25 мая 2018
SELECT * 
FROM `doctor` 
WHERE curdate() > `date_birthday` + interval 40 year
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...