혹시 check 제약에 날짜를 넣을때 0 2 2,457

by 임길현 check date type [2015.10.06 09:14:52]


Check제약에서 날짜 RRRR형식을 사용하면 왜 Error가 발생할까요?

SQL> create table emp123
  2  (empno number(10),
  3  ename varchar2(20),
  4  sal number(10),
  5  hiredate date constraint emp123_hiredate_eh
  6  check(hiredate between to_date('2015/01/01', 'RRRR/MM/DD')   
  7                               and to_date('2015/12/31', 'RRRR/MM/DD')   ) );
 
--> ERROR at line 6: ORA-02436: date or system variable wrongly specified in CHECK constraint
 
-------------------------------------------------------------------------------
SQL> create table emp123
  2  (empno number(10),
  3  ename varchar2(20),
  4  sal number(10),
  5  hiredate date constraint emp123_hiredate_eh
  6  check(hiredate between to_date('2015/01/01', 'YYYY/MM/DD')   
  7                               and to_date('2015/12/31', 'YYYY/MM/DD')   ) );

 

                   --> Table created.

 

이런 문제가 있습니다. 도와주세욥 ㅠㅜ

by 마농 [2015.10.06 09:25:17]

년도가 2자리일 경우에나 RR 이 이미가 있는 것이지.
4자리 년도에 대해서 RRRR 은 의미가 없습니다.
에러의 명확한 이유를 설명할 수는 없지만
RRRR을 사용할 이유는 전혀 없습니다.
YYYY 가 맞습니다.


by 임길현 [2015.10.06 09:29:04]

답변 감사드립니다.

교육중에 RRRR이 있다는 것을 알고 시도 해보다가 위 와같은 현상이 발생 하기에 혹시 원인이 무엇인지아시는 분이 계실까 하여 글을 올려 보았습니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입