SQL-와일드 카드 연산자

와일드 카드 연산자를 사용하여 값을 유사한 값과 비교하는 데 사용되는 SQL LIKE 연산자에 대해 이미 논의했습니다.

SQL은 다음 표에 자세히 설명되어있는 LIKE 연산자와 함께 두 개의 와일드 카드 연산자를 지원합니다.

Sr. 아니. 와일드 카드 및 설명
1

The percent sign (%)

하나 이상의 문자와 일치합니다.

Note − MS Access는 퍼센트 기호 (%) 와일드 카드 문자 대신 별표 (*) 와일드 카드 문자를 사용합니다.

2

The underscore (_)

한 문자와 일치합니다.

Note − MS Access는 한 문자와 일치시키기 위해 밑줄 (_) 대신 물음표 (?)를 사용합니다.

백분율 기호는 0, 1 또는 여러 문자를 나타냅니다. 밑줄은 단일 숫자 또는 문자를 나타냅니다. 이러한 기호는 조합하여 사용할 수 있습니다.

통사론

'%'및 '_'연산자의 기본 구문은 다음과 같습니다.

SELECT * FROM table_name
WHERE column LIKE 'XXXX%'

or 

SELECT * FROM table_name
WHERE column LIKE '%XXXX%'

or

SELECT * FROM table_name
WHERE column LIKE 'XXXX_'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX'

or

SELECT * FROM table_name
WHERE column LIKE '_XXXX_'

AND 또는 OR 연산자를 사용하여 N 개의 조건을 결합 할 수 있습니다. 여기서 XXXX는 숫자 또는 문자열 값이 될 수 있습니다.

다음 표에는 '%'및 '_'연산자가있는 서로 다른 LIKE 절이있는 WHERE 부분을 보여주는 여러 예가 있습니다.

Sr. 아니. 성명 및 설명
1

WHERE SALARY LIKE '200%'

200으로 시작하는 모든 값을 찾습니다.

2

WHERE SALARY LIKE '%200%'

임의의 위치에 200이있는 모든 값을 찾습니다.

WHERE SALARY LIKE '_00%'

두 번째 및 세 번째 위치에 00이있는 모든 값을 찾습니다.

4

WHERE SALARY LIKE '2_%_%'

2로 시작하고 길이가 3 자 이상인 모든 값을 찾습니다.

5

WHERE SALARY LIKE '%2'

2로 끝나는 모든 값을 찾습니다.

6

WHERE SALARY LIKE '_2%3'

두 번째 위치에 2가 있고 3으로 끝나는 값을 찾습니다.

7

WHERE SALARY LIKE '2___3'

2로 시작하고 3으로 끝나는 5 자리 숫자의 값을 찾습니다.

실제 예를 들어 다음 레코드가있는 CUSTOMERS 테이블을 고려하십시오.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  2 | Khilan   |  25 | Delhi     |  1500.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
|  4 | Chaitali |  25 | Mumbai    |  6500.00 |
|  5 | Hardik   |  27 | Bhopal    |  8500.00 |
|  6 | Komal    |  22 | MP        |  4500.00 |
|  7 | Muffy    |  24 | Indore    | 10000.00 |
+----+----------+-----+-----------+----------+

다음 코드 블록은 SALARY가 200으로 시작하는 CUSTOMERS 테이블의 모든 레코드를 표시하는 예제입니다.

SQL> SELECT * FROM CUSTOMERS
WHERE SALARY LIKE '200%';

그러면 다음과 같은 결과가 생성됩니다.

+----+----------+-----+-----------+----------+
| ID | NAME     | AGE | ADDRESS   | SALARY   |
+----+----------+-----+-----------+----------+
|  1 | Ramesh   |  32 | Ahmedabad |  2000.00 |
|  3 | kaushik  |  23 | Kota      |  2000.00 |
+----+----------+-----+-----------+----------+