[ ] (와일드카드 - 일치하는 문자) (Transact-SQL)
적용 대상: Microsoft Fabric의 Microsoft Fabric
SQL 데이터베이스
에 있는 Microsoft Fabric
Warehouse의 SQL Server
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System(PDW)
SQL 분석 엔드포인트
대괄호 사이에 지정된 범위 또는 집합 내의 모든 단일 문자와 일치합니다 [ ]
. 이러한 와일드카드 문자는 패턴 일치와 PATINDEX
같은 LIKE
문자열 비교에 사용할 수 있습니다.
예제
A: 간단한 예
다음 예제에서는 문자 m
로 시작하는 이름을 반환합니다. [n-z]
는 두 번째 문자가 n
부터 z
사이여야 함을 지정합니다. 백분율 와일드카드 %
는 3자로 시작하는 문자를 허용하거나 허용하지 않습니다. model
및 msdb
데이터베이스는 이 조건을 충족합니다. 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)