Udostępnij za pomocą


[^] (Symbol wieloznaczny — znaki, które mają być niezgodne) (Transact-SQL)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceBaza danych SQL w usłudze Microsoft Fabric

Dopasuje dowolny pojedynczy znak, który nie znajduje się w zakresie lub ustawiony między nawiasami kwadratowymi [^]. Te symbole wieloznaczne mogą być używane w porównaniach ciągów, które obejmują dopasowywanie wzorców, takich jak LIKE i PATINDEX.

Examples

Przykłady kodu w tym artykule korzystają z przykładowej bazy danych AdventureWorks2025 lub AdventureWorksDW2025, którą można pobrać ze strony głównej Przykładów programu Microsoft SQL Server i projektów społeczności.

1: Podstawowy przykład

W poniższym przykładzie [^] użyto operatora , aby znaleźć pięć pierwszych osób w Contact tabeli, które mają imię rozpoczynające się od Al i ma trzecią literę, która nie jest literą a.

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

Oto zestaw wyników.

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

B: wyszukiwanie zakresów znaków

Zestaw symboli wieloznacznych może zawierać pojedyncze znaki lub zakresy znaków, a także kombinacje znaków i zakresów. W poniższym przykładzie [^] użyto operatora do znalezienia ciągu, który nie zaczyna się literą ani cyfrą.

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

Oto zestaw wyników.

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