적용 대상:SQL 서버
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Microsoft 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