-- Oracle
SELECT *
FROM 表
WHERE
MONTHS_BETWEEN ( sysdate, 出生日期 ) > 30 * 12;
-- SQL Server
SELECT *
FROM 表
WHERE
DATEDIFF(yy, 出生日期, GETDATE()) > 30
SELECT *,YEAR(GETDATE()) - YEAR(birthday) AS Age FROM 表名 WHERE age>30
要看用的什么数据库了,主要就是用到日期函数