Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL-Datenbank
Verwaltete Azure SQL-Instanz
SQL-Datenbank in Microsoft Fabric
Verwenden Sie das Unterstrichzeichen _ , um ein beliebiges einzelnes Zeichen in einem Zeichenfolgenvergleichsvorgang abzugleichen, der Mustervergleiche umfasst, z LIKE . B. und PATINDEX.
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
Das folgende Beispiel gibt alle Datenbanknamen zurück, die mit dem Buchstaben m beginnen und d als dritten Buchstaben haben. Der Unterstrich gibt an, dass das zweite Zeichen ein beliebiger Buchstabe sein kann. Die Datenbanken model und msdb erfüllen diese Kriterien. Die Datenbank master erfüllt die Kriterien nicht.
SELECT name FROM sys.databases
WHERE name LIKE 'm_d%';
Hier sehen Sie das Ergebnis.
name
-----
model
msdb
Möglicherweise verfügen Sie über zusätzliche Datenbanken, die diesen Kriterien entsprechen.
Mehrere Unterstriche können mehrere Zeichen darstellen. Das Ändern der LIKE Kriterien, um zwei Unterstriche einzuschließen, 'm__% enthält die master Datenbank im Ergebnis.
B. Komplexeres Beispiel
Im folgenden Beispiel wird der _ Operator verwendet, um alle Personen in der Person Tabelle zu finden, die einen drei buchstabenigen Vornamen haben, der in an.
SELECT FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE '_an'
ORDER BY FirstName;
C. Escapen des Unterstrichszeichens
Im folgenden Beispiel werden die Namen der festen Datenbankrollen wie db_owner und db_ddladmin zurückgegeben, aber auch der dbo-Benutzer wird zurückgegeben.
SELECT name FROM sys.database_principals
WHERE name LIKE 'db_%';
Der Unterstrich in der dritten Zeichenposition wird als Platzhalter verwendet und filtert nicht nur nach Prinzipale, die mit den Buchstaben db_beginnen. Um den Unterstrich zu escapeen, schließen Sie ihn in eckige Klammern [_]ein.
SELECT name FROM sys.database_principals
WHERE name LIKE 'db[_]%';
Jetzt wird der Benutzer dbo ausgeschlossen.
Hier sehen Sie das Ergebnis.
name
-------------
db_owner
db_accessadmin
db_securityadmin
...