Как мога да получа възрастта на човек с датата на раждане в pl/sql или sql?

Това е моята маса.

create table ator(
numero_identidade varchar2(10) NOT NULL,
numero_ss varchar2(20) NOT NULL,
dt_nascimento date NOT NULL,
nacionalidade varchar2(20) NOT NULL,
nome_artistico varchar2(40),
sexo char(1) NOT NULL,
idade number(2,0) NOT NULL,
primary key (numero_identidade),
CONSTRAINT sexo_a check (sexo = 'F' or sexo = 'M'));


SELECT DATEDIFF(idade,GETDATE())/8766 AS AgeYearsIntTrunc

Виждал съм тази команда в интернет, но не разбирам как да я използвам.

как мога да направя това??


person Filipe Mota    schedule 15.12.2019    source източник
comment
За каква СУБД е това? Oracle? Моля, добавете правилния етикет.   -  person sticky bit    schedule 15.12.2019


Отговори (2)


Ако използвате Oracle DBMS, опитайте с:

SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, dt_nascimento)/12) AS idade FROM your_table
person davidm    schedule 15.12.2019

Ето какво видяхте:

> DATEDIFF(hour,idade,GETDATE())/8766 AS AgeYearsIntTrunc

Взема се разликата в часове и се дели на броя часове в годината: 365,25*24 = 8766. Това означава, че в крайна сметка имате възрастта в години. Надявам се това да помогне. . Просто опитай

select DATEDIFF(hour,idade,GETDATE())/8766 AS AgeYearsIntTrunc
from ator
person zip    schedule 15.12.2019
comment
добре сега разбирам какво прави, но не мога да го пусна да работи :( - person Filipe Mota; 15.12.2019