Sql найти подстроку в строке

Функции для работы со строками

Для работы со строками в T-SQL можно применять следующие функции:

LEN : возвращает количество символов в строке. В качестве параметра в функцию передается строка, для которой надо найти длину:

LTRIM : удаляет начальные пробелы из строки. В качестве параметра принимает строку:

RTRIM : удаляет конечные пробелы из строки. В качестве параметра принимает строку:

CHARINDEX : возвращает индекс, по которому находится первое вхождение подстроки в строке. В качестве первого параметра передается подстрока, а в качестве второго — строка, в которой надо вести поиск:

PATINDEX : возвращает индекс, по которому находится первое вхождение определенного шаблона в строке:

LEFT : вырезает с начала строки определенное количество символов. Первый параметр функции — строка, а второй — количество символов, которые надо вырезать сначала строки:

RIGHT : вырезает с конца строки определенное количество символов. Первый параметр функции — строка, а второй — количество символов, которые надо вырезать сначала строки:

SUBSTRING : вырезает из строки подстроку определенной длиной, начиная с определенного индекса. Певый параметр функции — строка, второй — начальный индекс для вырезки, и третий параметр — количество вырезаемых символов:

REPLACE : заменяет одну подстроку другой в рамках строки. Первый параметр функции — строка, второй — подстрока, которую надо заменить, а третий — подстрока, на которую надо заменить:

REVERSE : переворачивает строку наоборот:

CONCAT : объединяет две строки в одну. В качестве параметра принимает от 2-х и более строк, которые надо соединить:

LOWER : переводит строку в нижний регистр:

UPPER : переводит строку в верхний регистр

SPACE : возвращает строку, которая содержит определенное количество пробелов

Например, возьмем таблицу:

И при извлечении данных применим строковые функции:

Функция CHARINDEX имеет синтаксис:

Читайте также:  Btinternet com почта вход

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

name
Kirishima
Musashi
Washington

Следует отметить, что если искомая подстрока либо строковое выражение есть NULL , то результатом функции тоже будет NULL .

Следующий пример определяет позиции первого и второго вхождения символа a в имени корабля California:

Обратите внимание, что при определении второго символа в функции CHARINDEX используется стартовая позиция, которой является позиция следующего за первой буквой a символа — CHARINDEX(‘a’, name)+1 . Правильность результата — 2 и 10 — легко проверить.

Функция PATINDEX имеет следующий синтаксис:

Главное отличие этой функции от CHARINDEX заключается в том, что поисковая строка может содержать подстановочные знаки — % и _. При этом концевые знаки % являются обязательными. Например, использование этой функции в первом примере будет иметь вид

Как с помощью Mysql сделать поиск по вхождению в строке?

Вот есть пример, надо найти по полю [STR] вхождение "A":

2 ответа 2

Не очень понятно представление таблицы, если N и STR — это столбцы таблицы, то достаточно, как указано в комментариях, воспользоваться оператором LIKE

Если же [0] [N]"TABL",[STR]"A,B,C" и [1] [N]"CATL",[STR]"B,C" это строки по которым осуществляется поиск, то лучше воспользоваться регулярными выражениями, т.е. оператором RLIKE

Извини, помог человек из комментариев, раз он не пишет то напишу я.

Rate this post

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *