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

Опубликовано: 8 Августа, 2021

CHARINDEX ():
Эта функция в SQL Server помогает вернуть позицию подстроки в заданной строке. Поиск, выполняемый в этой функции, НЕ чувствителен к регистру.

Синтаксис:

 CHARINDEX (подстрока; строка; [начальная_позиция]

Параметры:
Эта функция принимает 3 параметра.

  1. подстрока -
    Подстрока, которую мы ищем. Он имеет ограничение в 8 000 символов.
  2. нить -
    Строка, в которой происходит поиск.
  3. Начальная позиция -
    Позиция, с которой будет производиться поиск. Это необязательный параметр.

Возврат:

  • Функция вернет позицию подстроки в заданной строке.
  • Если подстрока в строке не найдена, функция вернет 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