Freigeben über


[^] (Wildcard - Zeichen, die nicht übereinstimmen sollen) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzSQL-Datenbank in Microsoft Fabric

Entspricht jedem einzelnen Zeichen, das sich nicht innerhalb des Bereichs befindet oder zwischen den eckigen Klammern [^]festgelegt ist. Diese Platzhalterzeichen können in Zeichenfolgenvergleichen verwendet werden, bei denen Mustervergleiche wie LIKE und PATINDEX durchgeführt werden.

Examples

Die Codebeispiele in diesem Artikel verwenden die AdventureWorks2025- oder AdventureWorksDW2025 Beispieldatenbank, die Sie von der Microsoft SQL Server Samples and Community Projects Homepage herunterladen können.

A: Einfaches Beispiel

Im folgenden Beispiel wird der [^] Operator verwendet, um die obersten fünf Personen in der Contact Tabelle zu finden, die mit einem Vornamen beginnen Al und einen dritten Buchstaben haben, der nicht der Buchstabe aist.

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

Hier sehen Sie das Ergebnis.

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

B: Suchen nach Zeichenbereichen

Ein Wildcardsatz kann einzelne Zeichen oder Zeichenbereiche sowie Kombinationen von Zeichen und Bereichen enthalten. Im folgenden Beispiel wird der [^] Operator verwendet, um eine Zeichenfolge zu finden, 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 sehen Sie das Ergebnis.

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