Compartilhar via


[^] (Curinga – caracteres que não correspondem) (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do AzureBanco de dados SQL no Microsoft Fabric Preview

Corresponde a qualquer caractere único que não esteja dentro do intervalo ou do conjunto especificado entre os 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 AdventureWorks2022 ou AdventureWorksDW2022, que você pode baixar na página inicial Microsoft SQL Server Samples and Community Projects.

R: Exemplo básico

O exemplo a seguir usa o [^] operador para encontrar as cinco principais pessoas na Contact tabela que têm um nome que começa com Al e tem uma terceira letra que não é a letra a.

SELECT TOP 5 FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Al[^a]%';

Veja a seguir o conjunto de resultados.

FirstName     LastName
---------     --------
Alex          Adams
Alexandra     Adams
Allison       Adams
Alisha        Alan
Alexandra     Alexander

B: procurar intervalos de caracteres

Um conjunto curinga pode incluir caracteres únicos ou intervalos de caracteres, bem como combinações de caracteres e intervalos. O exemplo a seguir usa o [^] operador para localizar uma cadeia de caracteres que não começa com uma letra ou número.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[^0-9A-z]%';

Veja a seguir o conjunto de resultados.

object_id     object_name   name    column_id
---------     -----------   ----    ---------
1591676718    JunkTable     _xyz    1