Функция SQL Server PATINDEX

Funkcia Sql Server Patindex



Этот учебник призван помочь вам понять, как использовать функцию PATINDEX в SQL Server. Эта функция позволяет определить начальную позицию шаблона в данном входном выражении.

Функция SQL Server Patindex()

Следующий фрагмент кода определяет синтаксис функции PATINDEX() в SQL Server:







ПАТИНДЕКС ( '%шаблон%' , выражение )



Аргументы рассматриваются ниже:



  1. шаблон – этот аргумент определяет символьное выражение для поиска в выражении. Это значение поддерживает подстановочные знаки, такие как % и _. Функция будет применять подстановочные знаки аналогично оператору LIKE. Вы можете указать не более 8000 символов.
  2. выражение – это определяет выражение, в котором выполняется поиск шаблона. Это может быть буквальное значение или столбец.

Затем функция вернет целочисленное значение, обозначающее начальную позицию первого шаблона вхождения в выражении. Если шаблон в выражении не найден, функция возвращает 0.





Если любой из обязательных аргументов равен NULL, функция автоматически вернет NULL.

Пример использования

В следующих примерах показано, как использовать функцию patindex() в SQL Server.



Пример 1 – Основное использование

Ниже показана демонстрация базового использования функции patindex().

Выбрать патиндекс ( '%бит%' , 'https://geekbits.io' ) в качестве поз;

Это должно вернуть начальную позицию найденного шаблона как:

поз
13

Пример 2

В приведенном ниже примере мы используем функцию patindex() с несколькими подстановочными знаками.

Выбрать патиндекс ( '%g__k%' , 'https://geekbits.io' ) в качестве поз;

В этом случае функция должна вернуть:

поз
9

Пример 3. Использование функции Patindex() со сложным шаблоном

Мы также можем передать сложное регулярное выражение в качестве шаблона в функцию patindex, как показано ниже:

Выбрать патиндекс ( '%[^0-9A-Za-z]%' , «Добро пожаловать в Linuxhint!!» ) в качестве соответствие;

Результат:

соответствие
двадцать один

Пример 4. Использование функции Patindex со столбцом

Предположим, у нас есть таблица, как показано ниже:

Мы можем использовать функцию patindex() для поиска соответствующего шаблона в столбце product_name, как показано в запросе ниже:

Выбрать product_name, производитель, патиндекс ( '%2022%' , наименование товара ) место
из продуктов

Это должно вернуть позицию соответствующего шаблона, как показано:

Вывод

В этом руководстве мы рассмотрели основы работы с функцией PATINDEX() в SQL Server.