我有一张表格,上面有医生的姓名和生日年份。在索引页面上,我只需要显示 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
最佳答案
您没有指定数据库并且格式不一致。 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;
关于mysql - SQL 方程当前减去其他年份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50528932/