Поделиться через


[^] (Подстановочный знак — символы не совпадают) (Transact-SQL)

Область применения: SQL Server База данных SQL Azure Управляемый экземпляр 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)