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

Aplica-se a: SQL Server (todas as versões com suporte) Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure Azure Synapse Analytics PDW (Analytics Platform System)

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

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

Este é 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!@#$.,;_]%';

Este é 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

Consulte 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)