如何根据NLS_DATE_FORMAT中的当前系统时间获取年龄? (甲骨文 SQL)

How do i get an age according to the current system time in NLS_DATE_FORMAT? (Oracle SQL)

我有一个叫table的人,我如何根据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:我在 table 中这样插入生日:TO_DATE('17.05.2003','DD.MM.YYYY')

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

floor(months_between(sysdate, p.birthday) / 12)