Как мне узнать возраст по текущему системному времени в NLS_DATE_FORMAT? (Oracle SQL)
У меня есть таблица под названием "человек". Как мне узнать возраст человека по текущему системному времени в 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')
1 ответ
Решение
Формат даты не имеет значения. Я бы посоветовал:
floor(months_between(sysdate, p.birthday) / 12)