Compartilhar via


[ ] (Curinga - caracteres a serem correspondentes) (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsAnalytics Platform System (PDW)Ponto de extremidade de análise de SQL no Microsoft FabricDepósito no Microsoft FabricBanco de dados SQL no Microsoft Fabric

Encontra a correspondência de qualquer caractere único dentro do intervalo ou conjunto especificado entre colchetes [ ]. 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 usam o banco de dados de exemplo AdventureWorks2025 ou AdventureWorksDW2025, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.

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 as IDs e os nomes de todos os funcionários da Adventure Works que possuem endereços com um 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 localizar uma cadeia de caracteres 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