SQL方程当前你的减去其他年份?

时间:2018-05-25 12:10:48

标签: mysql sql phpmyadmin

我有一张名字和医生的生日年份的桌子。在索引页面上,我只需要显示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 :(得分:2)

您没有指定数据库,格式不一致。 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;

答案 1 :(得分:1)

SELECT * 
FROM `doctor` 
WHERE curdate() > `date_birthday` + interval 40 year