SQL显示数据库的年龄范围

时间:2013-10-31 14:48:29

标签: sql range

我正在使用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;

2 个答案:

答案 0 :(得分:0)

试试这个

其中((sysdate - edob)/365.25)介于21和40之间

答案 1 :(得分:0)

SELECT * FROM EMPLOYEE 
WHERE extract(year from sysdate) - extract(year from EDOB) 
BETWEEN 21 and 40;