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

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

Corresponde a qualquer caractere único que esteja fora 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 usa o operador [^] para localizar as cinco primeiras pessoas na tabela Contact cujo nome começa com Al e tem uma terceira letra diferente de a.

-- Uses AdventureWorks  
  
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 de curingas 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

Confira também

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Curinga – caracteres de correspondência) (Transact-SQL)
[ ] (Curinga – caracteres para correspondência) (Transact-SQL)
_ (Curinga – corresponde a um caractere) (Transact-SQL)