[ ] (Curinga – caracteres para correspondência) (Transact-SQL)

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System) Ponto de extremidade de análise do SQL Warehouse 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.

Exemplos

A: Exemplo simples

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 caracteres ou nenhum caractere que começa com o caractere 3. 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 outros 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.

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

Veja a seguir o conjunto de resultados.

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

C: Uso de 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

Confira também

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Curinga – caracteres de correspondência) (Transact-SQL)
[^] (Curinga – caracteres que não correspondem a) (Transact-SQL)
_ (Curinga – corresponde a um caractere) (Transact-SQL)