Partilhar via


[ ] (Curinga - caracteres a combinar) (Transact-SQL)

Aplica-se a:SQL ServerBase de Dados SQL do AzureInstância Gerida do Azure SQLAzure Synapse AnalyticsSistema de Plataforma de Análise (PDW)Ponto de Extremidade de Análise SQL no Microsoft FabricArmazém no Microsoft FabricBase de Dados SQL no Microsoft Fabric

Corresponde a qualquer caractere único dentro do intervalo ou conjunto especificado entre colchetes [ ]. Esses caracteres curinga podem ser usados em comparações de cadeia de caracteres que envolvem 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 pode ser descarregado da página inicial de Exemplos e Projetos da Comunidade do Microsoft SQL Server.

A. Exemplo básico

O exemplo a seguir retorna nomes que começam com a letra m. [n-z] especifica que a segunda letra deve estar em algum lugar no intervalo de n até z. O curinga % de porcentagem permite qualquer ou nenhum caractere começando com o terceiro caractere. As model bases de dados e msdb cumprem estes critérios. O master banco de dados não atende aos critérios e é excluído do conjunto de resultados.

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

Aqui está 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 localizar os IDs e nomes de todos os funcionários da Adventure Works que têm 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]';

Aqui está o conjunto de resultados.

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

C. Usar um conjunto que combine 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!@#$.,;_]%';

Aqui está 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