Megosztás a következőn keresztül:


[ ] (Helyettesítő karakter – egyező karakterek) (Transact-SQL)

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példányAzure Synapse AnalyticsElemzési platformrendszer (PDW)SQL Analytics-végpont a Microsoft FabricbenRaktár a Microsoft FabricbenSQL-adatbázis a Microsoft Fabricben

A zárójelek között megadott tartományon vagy halmazon belüli egyetlen karakternek felel meg [ ]. Ezek a helyettesítő karakterek olyan sztring-összehasonlításokban használhatók, amelyek mintaegyezést tartalmaznak, például LIKE és PATINDEX.

Examples

A cikkben szereplő kódminták a AdventureWorks2025 vagy AdventureWorksDW2025 mintaadatbázist használják, amelyet a Microsoft SQL Server-minták és közösségi projektek kezdőlapjáról tölthet le.

A. Egyszerű példa

Az alábbi példa a betűvel mkezdődő neveket adja vissza. [n-z] azt határozza meg, hogy a második betűnek valahol a tartományon belül kell lennie a következőtől n a következőig z: A százalék helyettesítő karakter % a harmadik karaktertől kezdve bármilyen karaktert engedélyez. Az model és msdb az adatbázisok megfelelnek ennek a feltételnek. Az master adatbázis nem felel meg a feltételeknek, és ki van zárva az eredményhalmazból.

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

Itt van az eredmények összessége.

name
-----
model
msdb

Előfordulhat, hogy több jogosult adatbázis van telepítve.

B. Összetettebb példa

Az alábbi példa a [] operátort használja az Adventure Works azon alkalmazottainak azonosítóinak és nevének megkereséséhez, akik négyjegyű irányítószámmal rendelkeznek.

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]';

Itt van az eredmények összessége.

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

C. Tartományokat és egykaraktereket kombináló készlet használata

A helyettesítő karakterkészletek tartalmazhatnak egyetlen karaktert és tartományt is. Az alábbi példa a [] operátort használja egy számmal vagy speciális karaktersorozattal kezdődő sztring megkereséséhez.

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

Itt van az eredmények összessége.

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