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


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

A következőkre vonatkozik:SQL ServerAzure SQL DatabaseFelügyelt Azure SQL-példánySQL-adatbázis a Microsoft Fabricben

Egyezik minden olyan karakterlel, amely nem a szögletes zárójelek [^]között megadott vagy megadott tartományon belül van. 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.

Válasz: Egyszerű példa

Az alábbi példa az [^] operátorral megkeresi a Contact táblázat első öt olyan személyét, akiknek a keresztneve a kezdőbetűvel Al kezdődik, és egy harmadik betűvel rendelkezik, amely nem a betű a.

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

Itt van az eredmények összessége.

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

B: Karaktertartományok keresése

A helyettesítő karakterek lehetnek önálló karakterek vagy karaktertartományok, valamint a karakterek és a tartományok kombinációja. Az alábbi példa az [^] operátorral keres olyan sztringet, amely nem betűvel vagy számmal kezdődik.

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

Itt van az eredmények összessége.

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