다음을 통해 공유


[ ] (와일드카드 - 일치하는 문자) (Transact-SQL)

적용 대상: SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) Microsoft Fabric의 SQL 분석 엔드포인트 Microsoft Fabric의 웨어하우스

대괄호 사이에 지정된 범위 또는 집합 내의 모든 단일 문자와 일치합니다 [ ]. 이러한 와일드카드 문자는 패턴 일치와 PATINDEX같은 LIKE 문자열 비교에 사용할 수 있습니다.

예제

A: 간단한 예

다음 예제에서는 문자 m로 시작하는 이름을 반환합니다. [n-z]는 두 번째 문자가 n부터 z 사이여야 함을 지정합니다. 백분율 와일드카드 % 는 3자로 시작하는 문자를 허용하거나 허용하지 않습니다. modelmsdb 데이터베이스는 이 조건을 충족합니다. master 데이터베이스는 기준을 충족하지 않으며 결과 집합에서 제외됩니다.

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

결과 집합은 다음과 같습니다.

name
-----
model
msdb

추가 적격 데이터베이스가 설치되어 있을 수 있습니다.

B: 복잡한 예

다음 예제에서는 [] 연산자를 사용하여 4자리 우편 번호가 있는 주소가 있는 모든 Adventure Works 직원의 ID와 이름을 찾습니다.

-- Uses AdventureWorks  
  
SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode  
FROM HumanResources.Employee AS e  
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID  
INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID  
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID  
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';  

결과 집합은 다음과 같습니다.

EmployeeID      FirstName      LastName      PostalCode  
----------      ---------      ---------     ----------  
290             Lynn           Tsoflias      3000  

C: 범위와 단일 문자를 결합하는 집합 사용

와일드카드 집합에는 단일 문자와 범위가 모두 포함될 수 있습니다. 다음 예제에서는 [] 연산자를 사용하여 숫자 또는 일련의 특수 문자로 시작하는 문자열을 찾습니다.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id 
FROM sys.columns 
WHERE name LIKE '[0-9!@#$.,;_]%';

결과 집합은 다음과 같습니다.

object_id     object_name	                      name	column_id
---------     -----------                         ----  ---------
615673241     vSalesPersonSalesByFiscalYears	  2002	5
615673241     vSalesPersonSalesByFiscalYears	  2003	6
615673241     vSalesPersonSalesByFiscalYears	  2004	7
1591676718    JunkTable                           _xyz  1

참고 항목

LIKE(Transact-SQL)
PATINDEX(Transact-SQL)
%(와일드카드 - 일치하는 문자)(Transact-SQL)
[^] (와일드카드 - 문자가 일치하지 않음) (Transact-SQL)
_ (와일드카드 - 문자 하나와 일치)(Transact-SQL)