0

我有一个名为 person 的表,如何根据 NLS_DATE_FORMAT 中的当前系统时间获取一个人的年龄?

ALTER SESSION SET NLS_DATE_FORMAT = 'DD.MM.YYYY';

CREATE TABLE person (
  person_id      NUMBER (9),
  birthday       DATE CONSTRAINT nn_person_birthday NOT NULL,
  ...
);

注意:我只想要确切的年龄,而不是几个月和几天。示例年龄:43

注2:我在我的表中插入这样的生日:TO_DATE('17.05.2003','DD.MM.YYYY')

4

1 回答 1

1

日期格式无关紧要。我会建议:

floor(months_between(sysdate, p.birthday) / 12)
于 2020-11-19T16:50:54.890 回答