SQL 알아가기 - Wildcard Characters

SQL - Wildcard Characters

와일드 카드 문자는 문자열의 다른 문자를 대체하는 데 사용됩니다. 와일드 카드 문자는 SQL LIKE 연산자와 함께 사용됩니다. LIKE 연산자는 WHERE 절에서 열의 지정된 패턴을 검색하는 데 사용됩니다.

LIKE 연산자와 함께 사용되는 두 개의 와일드 카드가 있습니다.

  • % - 백분율 기호는 0, 하나 또는 여러 문자를 나타냅니다.
  • _ - 밑줄은 단일 문자를 나타냅니다

MS Access 및 SQL Server에서는 다음을 사용할 수도 있습니다.

[charlist] - 일치시킬 문자와 세트의 범위를 정의합니다.

[^ charlist] - 일치하지 않는 문자의 집합과 범위를 정의합니다.

와일드 카드는 조합하여 사용할 수도 있습니다!

다음은 %_ 와일드 카드가 있는 다른 LIKE 연산자를 보여주는 몇 가지 예입니다.

LIKE Operator Description
WHERE CustomerName LIKE a% 'a'로 시작하는 값을 찾습니다.
WHERE CustomerName LIKE %a 'a'로 끝나는 값을 찾습니다.
WHERE CustomerName LIKE %or% 'or'값이 있는 어느 위치의 값을 찾습니다.
WHERE CustomerName LIKE _r% 두 번째 위치에 'r'이있는 값을 찾습니다.
WHERE CustomerName LIKE a_%_% 'a'로 시작하고 길이가 3 자 이상인 값을 찾습니다.
WHERE ContactName LIKE a%o 'a'로 시작하고 'o'로 끝나는 값을 찾습니다.”

Using the % Wildcard

다음 SQL 문은 City가 ‘ber’로 시작하는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE 'ber%';

다음 SQL 문은 패턴이 ‘es’인 City가 있는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE '%es%';

Using the _ Wildcard

다음 SQL은 ‘erlin’으로 시작하는 도시가 있는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE '_erlin';

다음 SQL 문은 도시가 “L”로 시작하고 모든 문자, 그 다음에 “n”다음에 문자가오고 “on”이 뒤에 오는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE 'L_n_on';

Using the [charlist] Wildcard

다음 SQL 문은 도시가 ‘b’, ‘s’또는 ‘p’로 시작하는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE '[bsp]%';

다음 SQL 문은 도시가 ‘a’, ‘b’또는 ‘c’로 시작하는 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE '[a-c]%';

Using the [!charlist] Wildcard

다음 두 SQL 문은 ‘b’, ‘s’또는 ‘p’로 시작하는 도시가 아닌 모든 고객을 선택합니다.

SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';

or

SELECT * FROM Customers
WHERE City NOT LIKE '[bsp]%';