[] (coringa - personagens correspondentes) (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsEndpoint de análise SQL no Microsoft FabricArmazém no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Corresponde a qualquer caractere dentro do intervalo ou conjunto especificado entre parênteses ([ e ]). Esses caracteres curinga podem ser usados em comparações de cadeias de caracteres que envolvem a correspondência de padrões, como LIKE e PATINDEX.

Examples

Os exemplos de código neste artigo utilizam o AdventureWorks2025 banco de dados de exemplos de ORAdventureWorksDW2025, que você pode baixar do repositório GitHub do Repositório de Exemplos SQL do Azure Data.

A. Exemplo básico

O exemplo a seguir retorna os nomes dos que começam com a letra m. [n-z] especifica que a segunda letra deve estar em algum lugar no intervalo de n a z. O caractere curinga % percentual permite qualquer ou nenhum caractere começando com o terceiro caractere. Os bancos de dados model e msdb atendem a esse critério. O banco de dados master não atende ao critério e é excluído do conjunto de resultados.

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

Veja a seguir o conjunto de resultados.

name
-----
model
msdb

Você pode ter mais bancos de dados qualificados instalados.

B. exemplo mais complexo

O exemplo a seguir usa o [] operador para encontrar os IDs e nomes de todos os funcionários da Adventure Works que possuem endereços com código postal de quatro dígitos.

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]';

Veja a seguir o conjunto de resultados.

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

C. Usar um conjunto que combina intervalos e caracteres únicos

Um conjunto de curingas pode incluir caracteres únicos e intervalos. O exemplo a seguir usa o [] operador para encontrar uma sequência que começa com um número ou uma série de caracteres especiais.

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

Veja a seguir o conjunto de resultados.

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