Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL RLIKE 연산자에서 활용할 수 있는 와일드카드 문자 총정리

MySQL에서 RLIKE 연산자는 문자열 안에서 특정 패턴(정규 표현식)을 검색하는 쿼리를 작성할 때 매우 유용합니다. 와일드카드를 함께 사용하면 복잡한 검색 조건도 간결하게 표현할 수 있어 작업 효율이 크게 향상됩니다. RLIKE 연산자와 함께 사용할 수 있는 대표적인 와일드카드는 다음과 같습니다.

1. ^(캐럿) – 문자열의 시작

^ 기호는 문자열의 시작을 의미합니다. RLIKE 연산자와 함께 사용하면, ^ 뒤에 작성한 특정 문자열로 시작하는 패턴을 가진 데이터를 찾습니다.

예제

mysql> Select Id, Name from Student WHERE Name RLIKE '^H';
+------+---------+
| id   | Name    |
+------+---------+
| 15   | Harshit |
+------+---------+
1 row in set (0.00 sec)

위 예제는 Name 컬럼의 값이 'H'로 시작하는 학생만 조회하는 쿼리입니다.

2. $(달러) – 문자열의 끝

$ 기호는 문자열의 끝을 의미합니다. RLIKE 연산자와 함께 사용하면, $ 앞에 작성한 특정 문자열로 끝나는 패턴을 가진 데이터를 찾습니다.

예제

mysql> Select Id, Name from Student WHERE Name RLIKE 'v$';
+------+--------+
| Id   | Name   |
+------+--------+
| 1    | Gaurav |
| 2    | Aarav  |
| 20   | Gaurav |
+------+--------+
3 rows in set (0.00 sec)

위 예제는 이름이 'v'로 끝나는 모든 학생을 조회합니다.

3. |(파이프) – OR(또는) 조건

| 기호는 OR 조건을 의미합니다. RLIKE 연산자와 함께 사용하면, | 로 구분된 여러 부분 문자열 중 하나라도 포함하는 데이터를 모두 찾습니다.

예제

mysql> Select Id, Name from Student WHERE Name RLIKE 'Gaurav|raj';
+------+---------+
| Id   | Name    |
+------+---------+
| 1    | Gaurav  |
| 20   | Gaurav  |
| 21   | Yashraj |
+------+---------+
3 rows in set (0.00 sec)

위 예제는 이름에 'Gaurav' 또는 'raj'가 포함된 학생들을 조회합니다.

마무리

이 외에도 RLIKE(정규 표현식)에서는 임의의 한 문자를 뜻하는 ., 0회 이상 반복을 뜻하는 *, 1회 이상 반복을 뜻하는 +, 대괄호 안의 문자 집합을 뜻하는 [] 등 다양한 정규 표현식 요소를 활용할 수 있습니다. 이러한 와일드카드를 적절히 조합하면 일반 LIKE 연산자보다 훨씬 유연하고 강력한 패턴 검색이 가능하므로, 상황에 맞게 활용해 보시기 바랍니다.