[^] (Platzhalterzeichen - nicht zu suchende(s) Zeichen) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed Instance

Findet alle einzelnen Zeichen, die nicht dem Bereich oder der Menge angehören, die zwischen den eckigen Klammern [^] angegeben ist. Diese Platzhalterzeichen können in Zeichenfolgenvergleichen verwendet werden, bei denen Mustervergleiche wie LIKE und PATINDEX durchgeführt werden.

Beispiele

A: Einfaches Beispiel

Im folgenden Beispiel wird der [^]-Operator verwendet, um ersten fünf Personen in der Contact-Tabelle zu suchen, deren Vorname mit Al beginnt und als dritten Buchstaben nicht den Buchstaben a hat.

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

Hier ist das Resultset.

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

B: Suchen nach Zeichenbereichen

In einer Reihe von Platzhaltern können einzelne Zeichen oder Zeichenbereiche sowie Kombinationen aus Zeichen und Bereichen angegeben werden. Im folgenden Beispiel wird mithilfe des [^]-Operators eine Zeichenfolge gesucht, die nicht mit einem Buchstaben oder einer Zahl beginnt.

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

Hier ist das Resultset.

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

Weitere Informationen

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Platzhalterzeichen – zu suchende(s) Zeichen) (Transact-SQL)
[ ] (Platzhalterzeichen - zu suchende(s) Zeichen) (Transact-SQL)
_ (Platzhalterzeichen - einzelnes zu suchendes Zeichen) (Transact-SQL)