MySQL에서 NOT RLIKE 연산자를 사용하면 특정 표현식 안에 해당 패턴이 존재하지 않는지 확인할 수 있습니다. 즉, 정규 표현식과 일치하지 않는 데이터를 조회할 때 유용하게 활용됩니다.
기본 문법
NOT RLIKE Pat_not_for_match
여기서 Pat_not_for_match는 표현식과 매칭되지 않기를 원하는 패턴을 의미합니다.
사용 예시
다음 예제는 'student' 테이블에서 이름이 'H'로 시작하지 않는 학생만 조회하는 쿼리입니다.
mysql> Select Id, Name from Student WHERE Name NOT RLIKE '^H'; +------+---------+ | Id | Name | +------+---------+ | 1 | Gaurav | | 2 | Aarav | | 20 | Gaurav | | 21 | Yashraj | +------+---------+ 4 rows in set (0.00 sec)
쿼리 설명
위 쿼리는 'student' 테이블에서 'H'로 시작하지 않는 이름을 가진 레코드를 찾아 반환합니다. 여기서 사용된 ^는 NOT RLIKE와 함께 쓰이는 와일드카드 문자로, 문자열의 시작 위치를 나타냅니다. 따라서 '^H'는 'H'로 시작하는 문자열을 의미하고, NOT RLIKE를 결합함으로써 그 반대 조건, 즉 'H'로 시작하지 않는 모든 이름이 결과로 출력됩니다.
이처럼 NOT RLIKE는 정규 표현식 기반의 필터링에서 제외 조건을 적용할 때 매우 편리한 연산자입니다.