[] (와일드카드 - 캐릭터에 맞춰) (Transact-SQL)

적용 대상:SQL 서버Azure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsMicrosoft Fabric 의 SQL 분석 엔드포인트Microsoft Fabric 의 웨어하우스Microsoft Fabric의 SQL 데이터베이스

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

Examples

이 글의 코드 샘플은 Azure Data SQL Samples Repository GitHub 저장소에서 다운로드할 수 있는 샘플 AdventureWorksDW2025 데이터베이스를 AdventureWorks2025 사용합니다.

A. 기본 예제

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

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

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

name
-----
model
msdb

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

B. 더 복잡한 예제

다음 예시는 운영자를 [] 사용해 4자리 우편번호를 가진 모든 Adventure Works 직원들의 ID와 이름을 찾습니다.

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