【问题标题】:How can i get the age of a person with the Date of birth in pl/sql or sql? [duplicate]如何在 pl/sql 或 sql 中获取具有出生日期的人的年龄? [复制]
【发布时间】:2020-04-08 06:59:31
【问题描述】:

这是我的桌子。

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

我在网上看到过这个命令,但我不明白如何使用它。

我该怎么做??

【问题讨论】:

  • 这是什么 DBMS?甲骨文?请添加正确的标签。

标签: sql oracle date plsql


【解决方案1】:

如果您使用的是 Oracle DBMS,请尝试:

SELECT TRUNC(MONTHS_BETWEEN(SYSDATE, dt_nascimento)/12) AS idade FROM your_table

【讨论】:

    【解决方案2】:

    这是你看到的:

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

    用小时差除以一年的小时数:365.25*24 = 8766。 这意味着你最终会以年为单位。 希望这有帮助。 . 试试吧

    select DATEDIFF(hour,idade,GETDATE())/8766 AS AgeYearsIntTrunc
    from ator
    

    【讨论】:

    • 现在我明白了它的作用,但我不能让它发挥作用:(
    猜你喜欢
    • 2021-08-21
    • 2019-03-09
    • 2018-10-17
    • 2012-04-17
    • 2020-09-08
    • 1970-01-01
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多