Partilhar via


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

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBase de dados SQL no Microsoft Fabric

Corresponde a qualquer caractere único que não esteja 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 usa o [^] operador para localizar as cinco principais pessoas na Contact tabela que têm um primeiro 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]%';

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

Aqui está o conjunto de resultados.

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