Sdílet prostřednictvím


[^] (Zástupný znak – znaky, které se nemají shodovat) (Transact-SQL)

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL databáze v Microsoft Fabric

Odpovídá libovolnému jednomu znaku, který není v rozsahu nebo nastavený mezi hranatými závorkami [^]. 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í ukázkovou databázi AdventureWorks2025 nebo AdventureWorksDW2025, kterou si můžete stáhnout z domovské stránky Microsoft SQL Serveru pro ukázky a komunitní projekty .

A: Základní příklad

Následující příklad používá [^] operátor k nalezení prvních pěti lidí v Contact tabulce, kteří mají křestní jméno, které začíná Al a má třetí písmeno, které není písmeno a.

SELECT TOP 5 FirstName, LastName
FROM Person.Person
WHERE FirstName LIKE 'Al[^a]%';

Tady je soubor výsledků.

FirstName     LastName
---------     --------
Alex          Adams
Alexandra     Adams
Allison       Adams
Alisha        Alan
Alexandra     Alexander

B: Hledání oblastí znaků

Sada zástupných znaků může obsahovat jednotlivé znaky nebo oblasti znaků a také kombinace znaků a oblastí. Následující příklad používá [^] operátor k vyhledání řetězce, který nezačíná písmenem nebo číslem.

SELECT [object_id], OBJECT_NAME(object_id) AS [object_name], name, column_id
FROM sys.columns
WHERE name LIKE '[^0-9A-z]%';

Tady je soubor výsledků.

object_id     object_name   name    column_id
---------     -----------   ----    ---------
1591676718    JunkTable     _xyz    1