0

我正在使用 Oracle 数据库。

我需要做什么才能打印 21 到 40 岁范围内的所有数据?

CREATE TABLE    EMPLOYEE(
  ENum      varchar2(10)    not null,
  EName     varchar2(70),
  EDOB      date,
  ECity     varchar2(70),
  EStreet       varchar2(70),
  EHouse#            varchar2(10),

  constraint employee_pkey primary key (ENum)
);

我有一个粗略的想法,看起来像这样,但我知道这是错误的,因为 AGE 不是有效的标识符。那么我应该改用 Select Case 吗?

SELECT * FROM EMPLOYEE 
WHERE Age = ((sysdate - EDOB)/365.25)
AND EDOB BETWEEN 21 and 40;
4

2 回答 2

0

试试这个

其中 ((sysdate - edob)/365.25) 在 21 到 40 之间

于 2013-10-31T14:53:19.230 回答
0
SELECT * FROM EMPLOYEE 
WHERE extract(year from sysdate) - extract(year from EDOB) 
BETWEEN 21 and 40;
于 2013-10-31T14:56:09.430 回答