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

Gilt für:SQL ServerAzure SQL-DatenbankAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-Endpunkt in Microsoft FabricWarehouse 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 ist das Resultset.

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 ist das Resultset.

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 ist das Resultset.

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)