甲骨文:如何获得出生年份的年龄

时间:2015-11-30 20:09:09

标签: sql oracle

我有一个查询,我需要返回:NIC,年龄在10到15岁之间的女性的姓名和年龄,或者是谁解释 程序中至少有一个字符,在2000年之前出生。注意:您可以使用连接的构建器

表格是:

- >尼克名称 ;性别 ;出生年份
 解释 - >人程序;人物

因此,对于这个NIC,我使用的年龄在10到15岁的女性的姓名和年龄

SELECT to_char(sysdate,'YYYY')-p1.birth as age , p.nic , p.name
FROM people p
WHERE (p.gender ='F')
AND ( SELECT to_char(sysdate,'YYYY')-p1.birth as age
  FROM people p1
 WHERE (p1.age BETWEEN 10 AND 15);

或谁解释 程序中至少有一个角色出生于2000年之前

UNION
Select *
From interpret i , people p1
Where (i.people = p1.nic)
And(p1.character is not null)
and (p1 < 2000);

但特别是在代码的第一个和平时,它给了我2个主要错误 在此AND ( SELECT to_char(sysdate,'YYYY')-p1.birth as age 并在此WHERE (p1.age BETWEEN 10 AND 15);

1 个答案:

答案 0 :(得分:0)

我看到你错过了一个结束括号。

试试这段代码

SELECT to_char(sysdate,'YYYY')-p1.birth as age , p.nic , p.name
FROM people p
WHERE (p.gender ='F')
AND p1.birth ( SELECT to_char(sysdate,'YYYY')-p1.birth as age
  FROM people p1
 WHERE (p1.age BETWEEN 10 AND 15));