고양이, 마우스, 개, 앵무새 등 허용되는 값 목록이 있습니다. 이제 세미콜론 (;)으로 구분 된 셀에이 목록의 많은 값을 추가 할 수 있습니다. 내가 추가 할 수 있음을 의미쉼표로 구분 된 문자열로 특정 단어 일치
:
고양이를; 개; 마우스
고양이; 앵무새
마우스; 고양이는
앵무새는
하지만
사자를 추가 할 수 없습니다; 고양이
마우스; 앵무새; 사자
고양이,
고양이를 (그게 내가 마지막에 세미콜론을 추가 할 수 없음을 의미); 마우스;
는, 나는이 기능 REGEXP_LIKE를 사용하여 제약 조건을 작성하려고 (즉 난 그냥 세미콜론을 추가 할 수 없음을 의미) 그러나 이것은 잘 작동하지 않습니다.
not REGEXP_LIKE (animal, '[^(the cat| the mouse |the dog|the parrot|;)]', 'i')
NB :
REGEXP_LIKE(
';' || animal,
'^(;\s*(the cat|the mouse|the dog|the parrot)\s*)*$',
'i'
)
업데이트 :
당신은 수를 동물 내가 제약
이렇게하지 마십시오. 한 문자로 여러 값을 구분하여 저장하지 마십시오. 데이터베이스 정규화에 대해 읽어보십시오. 이 길을 내려 가지 마라. –