[^] (Cимволы-шаблоны несовпадения) (Transact-SQL)

Применимо к:база данныхSQL Server Azure SQL Управляемый экземпляр SQL Azure

Сопоставляется с любым отдельным символом, находящимся вне диапазона или набора, указанного в квадратных скобках [^]. Эти символы-шаблоны могут использоваться в тех операциях сравнения строк, которые задействуют соответствие шаблону, например LIKE или PATINDEX.

Примеры

A. Простой пример

В следующем примере оператор [^] используется для поиска первых пяти лиц в таблице Contact, имена которых начинаются с Al, а третья буква имени отличается от символа a.

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

Результирующий набор:

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

Б. Поиск диапазонов символов

Набор подстановочных знаков может включать в себя отдельные символы или диапазоны символов, а также сочетания символов и диапазонов. В следующем примере оператор [^] используется для поиска строки, которая не начинается с буквы или цифры.

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

Результирующий набор:

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

См. также:

LIKE (Transact-SQL)
PATINDEX (Transact-SQL)
% (символы-шаблоны — символы для совпадения) (Transact-SQL)
[ ] (Шаблон — символ(ы) для сопоставления) (Transact-SQL)
_ (шаблон — совпадение одного символа) (Transact-SQL)