3
나는 입력 된 날짜 - 시간이 오전 9시에서 오후 5 시까 지 적용되도록하고 싶습니다. ORACLE CHECK 제약 조건을 적용하려면 어떻게해야합니까?Oracle 10gr2 : 시행일은 오전 9시에서 오후 5 시까 지입니까?
나는 입력 된 날짜 - 시간이 오전 9시에서 오후 5 시까 지 적용되도록하고 싶습니다. ORACLE CHECK 제약 조건을 적용하려면 어떻게해야합니까?Oracle 10gr2 : 시행일은 오전 9시에서 오후 5 시까 지입니까?
SQL> ed
Wrote file afiedt.buf
1 create table date_check (
2 dt date check(to_number(to_char(dt, 'HH24')) between 9 and 16)
3*)
SQL>/
Table created.
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values(to_date('01/01/2008 08:30', 'DD/MM/YYYY HH2
4:MI'))
SQL>/
insert into date_check values(to_date('01/01/2008 08:30', 'DD/MM/YYYY HH24:MI'
))
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.SYS_C006170) violated
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values(to_date('01/01/2008 10:30', 'DD/MM/YYYY HH2
4:MI'))
SQL>/
1 row created.
SQL> ed
Wrote file afiedt.buf
1* insert into date_check values(to_date('01/01/2008 17:30', 'DD/MM/YYYY HH2
4:MI'))
SQL>/
insert into date_check values(to_date('01/01/2008 17:30', 'DD/MM/YYYY HH24:MI'
))
*
ERROR at line 1:
ORA-02290: check constraint (SCOTT.SYS_C006170) violated
감사합니다. 경미한 오타 : "9에서 16 사이"는 9시에서 5시 사이에 일치하도록 "9와 17"사이에서 읽어야합니다. 감사합니다. . – Sajee
나는 그것이 9와 16 사이에 있어야한다고 생각한다. 그것은 9:00:00 AM에서 4:59:59 PM까지 시간을 허용한다. 9시에서 17시 사이에 시간은 오전 9 시부 터 오후 5시 59 분 59 사이입니다. 5:00:00을 허용해야하는 경우 OR to_char (dt, 'HH24 : MI : SS') = '17 : 00 : 00 '을 제약 조건에 추가 할 수 있습니다 –