Teilen über


[ ] (Zugleichende Zeichen) (Transact-SQL)

Gilt für:SQL ServerAzure SQL-DatenbankVerwaltete Azure SQL-InstanzAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL-Analyseendpunkt in Microsoft FabricLagerhaus in Microsoft FabricSQL-Datenbank in Microsoft Fabric

Entspricht jedem einzelnen Zeichen im Bereich oder der Menge, der bzw. die innerhalb der Klammern [ ] angegeben 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 werden Namen zurückgegeben, die mit dem Buchstaben m beginnen. [n-z] legt fest, dass der zweite Buchstaben zwischen n und z liegen muss. Der Prozent-Platzhalter % erlaubt beliebige oder keine Zeichen, die mit dem dritten Zeichen beginnen. Die Datenbanken model und msdb erfüllen diese Kriterien. Die master-Datenbank erfüllt diese Kriterien nicht und wird aus dem Resultset ausgeschlossen.

SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';

Hier sehen Sie das Ergebnis.

name
-----
model
msdb

Möglicherweise sind mehr qualifizierende Datenbanken installiert.

B. Komplexeres Beispiel

Im folgenden Beispiel wird mithilfe des []-Operators nach den IDs und Namen aller Adventure Works-Mitarbeiter gesucht, deren Adressen eine vierstellige Postleitzahl enthalten.

SELECT e.BusinessEntityID, p.FirstName, p.LastName, a.PostalCode
FROM HumanResources.Employee AS e
INNER JOIN Person.Person AS p ON e.BusinessEntityID = p.BusinessEntityID
INNER JOIN Person.BusinessEntityAddress AS ea ON e.BusinessEntityID = ea.BusinessEntityID
INNER JOIN Person.Address AS a ON a.AddressID = ea.AddressID
WHERE a.PostalCode LIKE '[0-9][0-9][0-9][0-9]';

Hier sehen Sie das Ergebnis.

EmployeeID      FirstName      LastName      PostalCode
----------      ---------      ---------     ----------
290             Lynn           Tsoflias      3000

C. Verwenden eines Satzes, der Bereiche und einzelne Zeichen kombiniert

In einer Reihe von Platzhaltern können sowohl Bereiche als auch einzelne Zeichen angegeben werden. Im folgenden Beispiel wird der []-Operator verwendet, um eine Zeichenfolge zu suchen, die mit einer Zahl oder einer Reihe von Sonderzeichen beginnt.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';

Hier sehen Sie das Ergebnis.

object_id     object_name                          name    column_id
---------     -----------                         ----  ---------
615673241     vSalesPersonSalesByFiscalYears      2002    5
615673241     vSalesPersonSalesByFiscalYears      2003    6
615673241     vSalesPersonSalesByFiscalYears      2004    7
1591676718    JunkTable                           _xyz  1