要在 Oracle 中根据生日计算年龄,可以使用以下 SQL 语句:
SELECT
FLOOR(MONTHS_BETWEEN(sysdate, date_of_birth) / 12) AS age
FROM
persons
WHERE
date_of_birth = 'YYYY-MM-DD';
其中 persons
是存储人员信息的表,date_of_birth
是人员生日的日期列。上述 SQL 语句会返回存储在 date_of_birth
中的生日对应的年龄(以整数形式表示)。
如果要精确到天,可以使用 TRUNC
函数来计算日期之差:
SELECT
TRUNC(sysdate - date_of_birth) AS age_in_d