Этот учебник призван помочь вам понять, как использовать функцию PATINDEX в SQL Server. Эта функция позволяет определить начальную позицию шаблона в данном входном выражении.
Функция SQL Server Patindex()
Следующий фрагмент кода определяет синтаксис функции PATINDEX() в SQL Server:
ПАТИНДЕКС ( '%шаблон%' , выражение )
Аргументы рассматриваются ниже:
- шаблон – этот аргумент определяет символьное выражение для поиска в выражении. Это значение поддерживает подстановочные знаки, такие как % и _. Функция будет применять подстановочные знаки аналогично оператору LIKE. Вы можете указать не более 8000 символов.
- выражение – это определяет выражение, в котором выполняется поиск шаблона. Это может быть буквальное значение или столбец.
Затем функция вернет целочисленное значение, обозначающее начальную позицию первого шаблона вхождения в выражении. Если шаблон в выражении не найден, функция возвращает 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.