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