我正在创建一个表来处理员工数据,并希望在我的员工表中添加一个约束,以便不会雇用18岁以下的人。
CREATE TABLE EMPLOYEE
(Emp_num CHAR(4),
Emp_last Varchar2(20),
Emp_First Varchar2(20),
DOB Date not null,
Hire_Date Date Default SYSDATE,
Constraint employee_empnum_pk Primary key(Emp_Num),
Constraint empee_superid_fk foreign key(super_ID) reference
employee(Emp_Num);
我正在尝试添加检查约束,但不确定如何在此检查约束中定义年龄18。我试过的是Constraint Employee_age_ck CHECK(DOB+18<= Hire_date)
,但这不起作用。
答案 0 :(得分:0)
Constraint Employee_age_ck CHECK(ADD_MONTHS(DOB,12 * 18)&lt; = Hire_date)
答案 1 :(得分:-1)
尝试使用DATEDIFF功能
datediff(year, Hire_date, DOB) < 18