Функция CHARINDEX () SQL Server
CHARINDEX ():
Эта функция в SQL Server помогает вернуть позицию подстроки в заданной строке. Поиск, выполняемый в этой функции, НЕ чувствителен к регистру.
Синтаксис:
CHARINDEX (подстрока; строка; [начальная_позиция]
Параметры:
Эта функция принимает 3 параметра.
- подстрока -
Подстрока, которую мы ищем. Он имеет ограничение в 8 000 символов. - нить -
Строка, в которой происходит поиск. - Начальная позиция -
Позиция, с которой будет производиться поиск. Это необязательный параметр.
Возврат:
- Функция вернет позицию подстроки в заданной строке.
- Если подстрока в строке не найдена, функция вернет 0.
Применимо к следующим версиям:
- SQL Server 2017 г.
- SQL Server 2016
- SQL Server 2014
- SQL Server 2012
- SQL Server 2008 R2
- SQL Server 2008
- SQL Server 2005
Пример-1:
Поиск символа с помощью функции CHARINDEX ().
ВЫБРАТЬ CHARINDEX ('k', 'GeeksforGeeks') Как найдено;
Выход :
Нашел |
---|
4 |
Пример-2:
Поиск подстроки с помощью функции CHARINDEX ().
SELECT CHARINDEX ('полностью', 'Жизнь - это путешествие, так что проживи его полностью') Как найдено;
Выход :
Нашел |
---|
30 |
Пример-3:
Если подстрока не соответствует заданной строке.
ВЫБРАТЬ CHARINDEX ('python', 'Компьютерщики для компьютерных фанатов - это известный веб-сайт по информатике') Как найдено;
Выход :
Нашел |
---|
0 |
Пример-4:
Использование параметра «start_position» в функции CHARINDEX ().
ВЫБРАТЬ CHARINDEX ('за', 'любовь ко всем, ненависть ни к кому', 10) Как найдено;
Выход :
Нашел |
---|
20 |
Пример-5:
Показывает, что функция CHARINDEX () нечувствительна к регистру.
ВЫБРАТЬ CHARINDEX ('Медведь', 'Боб любит медведя, пиво любит боб') Как Найдено1, CHARINDEX ('медведь', 'Боб любит медведя, пиво любит боб') Как найдено2;
Выход :
Найдено1 | Найдено2 |
---|---|
11 | 11 |
Пример-6:
Делаем функцию чувствительной к регистру с помощью предложения COLLATE.
ВЫБРАТЬ CHARINDEX ('A', 'Всегда есть необходимость в разработке' COLLATE Latin1_General_CS_AS) Как найдено;
Выход :
Теперь функция выполняет поиск с учетом регистра, и, поскольку он не содержит «A», функция вернет 0.
Нашел |
---|
0 |