[ ] (Platzhalterzeichen - zu suchende(s) Zeichen) (Transact-SQL)
Gilt für: SQL Server Azure SQL-Datenbank Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System (PDW) SQL Analytics-Endpunkt in Microsoft Fabric Warehouse 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.
Beispiele
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. Durch das Prozent-Platzhalterzeichen %
wird angegeben, dass auf das zweite Zeichen entweder kein weiteres Zeichen oder beliebige Zeichen folgen können. 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 haben Sie aber zusätzliche 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.
-- Uses AdventureWorks
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 mehrerer Platzhalter, die für Bereiche und einzelne Zeichen stehen
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
Weitere Informationen
LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (Platzhalterzeichen – zu suchende(s) Zeichen) (Transact-SQL)
[^] (Platzhalterzeichen - nicht zu suchende(s) Zeichen) (Transact-SQL)
_ (Platzhalterzeichen - einzelnes zu suchendes Zeichen) (Transact-SQL)