[ ] (Curinga – caracteres para correspondência) (Transact-SQL)
Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureAzure Synapse AnalyticsPDW (Analytics Platform System)Ponto de extremidade de SQL no Microsoft FabricWarehouse 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]%';
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)
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de