Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro:SQL Server
Azure SQL Database
Spravovaná instance
Azure SQLAzure Synapse Analytics
Koncový bod analýzy SQL v Microsoft Fabric
Sklad v Microsoft Fabric
Databáze SQL v Microsoft Fabric
Odpovídá libovolnému jednotlivému znaku v rámci určeného rozsahu nebo množiny určených mezi závorkami ([ a ]). Tyto zástupné znaky lze použít v porovnání řetězců, které zahrnují porovnávání vzorů, například LIKE a PATINDEX.
Examples
Ukázky kódu v tomto článku používají databázi or sample, kterou si můžete stáhnout z repozitáře Azure Data SQL Samples Repository GitHub.AdventureWorksDW2025AdventureWorks2025
A. Základní příklad
Následující příklad vrátí názvy začínající písmenem m.
[n-z] určuje, že druhé písmeno musí být někde v rozsahu od n do z. Zástupný znak % procenta umožňuje libovolný nebo žádný znak začínající třetím znakem. Tato model kritéria splňují tato kritéria a msdb databáze. Databáze master nesplňuje kritéria a je vyloučena ze sady výsledků.
SELECT name FROM sys.databases
WHERE name LIKE 'm[n-z]%';
Tady je soubor výsledků.
name
-----
model
msdb
Je možné, že máte nainstalované opravňující databáze.
B. Složitější příklad
Následující příklad používá operátora [] k nalezení ID a jmen všech zaměstnanců Adventure Works, kteří mají adresy se čtyřmístným poštovním směrovacím číslem.
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]';
Tady je soubor výsledků.
EmployeeID FirstName LastName PostalCode
---------- --------- --------- ----------
290 Lynn Tsoflias 3000
C. Použití sady, která kombinuje rozsahy a jednotlivé znaky
Sada zástupných znaků může obsahovat jednotlivé znaky i oblasti. Následující příklad používá [] operátor k nalezení řetězce začínajícího číslem nebo sérií speciálních znaků.
SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[0-9!@#$.,;_]%';
Tady je soubor výsledků.
object_id object_name name column_id
--------- ----------- ---- ---------
615673241 vSalesPersonSalesByFiscalYears 2002 5
615673241 vSalesPersonSalesByFiscalYears 2003 6
615673241 vSalesPersonSalesByFiscalYears 2004 7
1591676718 JunkTable _xyz 1