簡體   English   中英

如何根據 NLS_DATE_FORMAT 中的當前系統時間獲取年齡? (Oracle SQL)

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

我有一個名為 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')

日期格式無關緊要。 我會建議:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM