首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >关于如何在PL/SQL上计算年龄的提示

关于如何在PL/SQL上计算年龄的提示
EN

Stack Overflow用户
提问于 2021-01-06 23:26:10
回答 2查看 38关注 0票数 0

我创建了一个SQL脚本:

代码语言:javascript
复制
 {CREATE TABLE ator (
    id               NUMBER(3) NOT NULL,
    nome_artistico   VARCHAR2(25) NOT NULL,
    nss              NUMBER(11),
    sexo             CHAR(1),
    nacionalidade    VARCHAR2(15),
    email            VARCHAR2(30),
    telefone_fixo    VARCHAR2(12),
    telefone_movel   VARCHAR2(12),
    dt_nascimento    DATE,
    CONSTRAINT ator_pk PRIMARY KEY ( id )
);}

我的问题是:有谁有关于如何计算和打印x演员的年龄的提示吗?我精通SQL,但不太擅长PL/SQL,所以如果有人能给我一些建议,我将不胜感激。

EN

回答 2

Stack Overflow用户

发布于 2021-01-06 23:40:43

您可以按如下方式使用months_between

代码语言:javascript
复制
Select t.*, trunc(months_between(sysdate, dt_nascimento) / 12) as age
  From ator t
票数 1
EN

Stack Overflow用户

发布于 2021-01-07 02:35:08

如果您对PL/SQL解决方案感兴趣,我建议您使用函数:将actor的ID传递给它并返回actor的年龄。一个简单的例子:

代码语言:javascript
复制
SQL> create or replace function f_age (par_id in ator.id%type)
  2    return number
  3  is
  4    l_age number;
  5  begin
  6    select round(months_between(sysdate, a.dt_nascimento) / 12)
  7      into l_age
  8      from ator a
  9      where a.id = par_id;
 10
 11    return l_age;
 12  end;
 13  /

Function created.

SQL> select f_age(5) from dual;

  F_AGE(5)
----------
        54

SQL>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65598545

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档