일요일에 해당하는 날짜를 방지하기 위해 CHECK 제약 조건을 사용할 수 있습니까? 방아쇠를 사용하고 싶지 않습니다.Oracle 10gr2 : 일요일에 해당하는 날짜를 방지 하시겠습니까?
1
A
답변
8
예,에 작은 체크를 할 점검 제한 조건은 요일이 일요일이 아닌지 확인할 수 있습니다. 예를 들면 다음과 같습니다.
create table date_test (entry_date date);
alter table date_test add constraint day_is_not_sunday
check (to_char(entry_date,'DAY','NLS_DATE_LANGUAGE = ENGLISH') not like 'SUNDAY%');
- SUNDAY 오른쪽에 공백이 있으므로 문자열을 일치 시키려면 rtrim이 필요합니다. 당신이 일요일에 날짜를 삽입 할 때
insert into date_test values(to_date('2008-10-12','YYYY-MM-DD')); --Sunday
insert into date_test values(to_date('2008-10-11','YYYY-MM-DD'));
insert into date_test values(to_date('2008-10-10','YYYY-MM-DD'));
insert into date_test values(to_date('2008-10-09','YYYY-MM-DD'));
insert into date_test values(to_date('2008-10-08','YYYY-MM-DD'));
insert into date_test values(to_date('2008-10-07','YYYY-MM-DD'));
insert into date_test values(to_date('2008-10-06','YYYY-MM-DD'));
, 그것은 말할 것이다 :
ORA-02290: check constraint (SYS.DAY_IS_NOT_SUNDAY) violated
1
실제 제약 확실하지,하지만 당신은 기능을 사용할 수 있습니다 정수로 요일을 얻기 위해
TO_CHAR(sysdate, 'D');
를, 다음
관련 문제
- 1. 일요일에 oracle 10로 시작하는 날짜 또는 날짜를 주 단위로 그룹화하는 방법?
- 2. 시간 기반 복사 방지 우회를 방지 하시겠습니까?
- 3. Oracle 10gr2 : 시행일은 오전 9시에서 오후 5 시까 지입니까?
- 4. UAC 가상화를 방지 하시겠습니까?
- 5. 다른 날짜를 기준으로 날짜를 설정 하시겠습니까?
- 6. 브라우저에서 날짜를 지역화 하시겠습니까?
- 7. 이 Oracle 특정 쿼리에 해당하는 HQL은 무엇입니까?
- 8. ORACLE SQL Server에 해당하는 연결 by 절
- 9. MySQL의 패키지 (Oracle)에 해당하는 항목이 있습니까
- 10. Oracle DB에서 정렬 하시겠습니까?
- 11. 이 설정으로 터널링을 방지 하시겠습니까?
- 12. Win32 : 폴더 수정을 방지 하시겠습니까?
- 13. TeamCity에서 원격 실행을 방지 하시겠습니까?
- 14. 배포시 코드 제거를 방지 하시겠습니까?
- 15. 새로운 jsessionid 생성을 방지 하시겠습니까?
- 16. 달력 날짜를 문자열로 변환 하시겠습니까?
- 17. PHP 날짜를 Excel로 변환 하시겠습니까?
- 18. 데이터베이스에 현재 날짜를 삽입 하시겠습니까?
- 19. Oracle 10gr2 점검 제한 조건에 문제점이 있습니까? 날짜 범위 적용 시도
- 20. VB.NET에서 날짜를 yyww로 변환하는 법?
- 21. PHP에서 Oracle 오류를 반환 하시겠습니까?
- 22. 복사 방지, 만료일에 대해 실제 날짜를 확인하는 방법
- 23. std :: set에 해당하는 항목으로 이동 하시겠습니까?
- 24. 신기원 이후의 시간 (초)을 리턴하기 위해 Oracle 날짜를 Java 유형으로 맵핑 하시겠습니까?
- 25. Oracle 데이터 유형 NUMERIC에 해당하는 Java 데이터 유형은 무엇입니까?
- 26. SQL Server 2008 R2에 해당하는 Oracle Stream은 무엇입니까?
- 27. WPF 탭 컨트롤에서 다중 선택을 방지 하시겠습니까?
- 28. superadmin/dba로 테이블 삭제/업데이트를 방지 하시겠습니까?
- 29. COALESCE를 사용하여 동적 SQL을 방지 하시겠습니까?
- 30. 해시를 추가하여 쿼리 문자열 조작을 방지 하시겠습니까?
은 현지화에 대한 우려가 있습니까이 방법을 사용하는 경우? to_char (..., 'DAY')는 항상 영어 요일 이름을 반환합니까? –
좋은 지적으로, 제약 조건을 업데이트하여 NLS_DATE_LANGUAGE = ENGLISH로 설정했습니다. 분명히 TO_CHAR (sysdate, 'D')는 1로 코딩 된 날짜가 지역에 따라 다르므로 비슷한 문제가 있습니다. – Plasmer
그냥 제안 : 형식에''fmDAY ''를 사용하면 비교를 간단한 == SUNDAY''로 변경할 수 있습니다. –