«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как найти второе или третье вхождение подстроки в MySQL?

Как найти второе или третье вхождение подстроки в MySQL?

Опубликовано 19 ноября 2024 г.
Просматривать:796

How to Find the Second or Third Occurrence of a Substring in MySQL?

Нахождение второго или третьего индекса подстроки в MySQL

При работе со строками в базе данных часто необходимо определить позицию определенной подстроки. В случаях, когда простого запроса LIKE недостаточно, вам может понадобиться способ точно определить индекс конкретного вхождения этой подстроки.

Проблема:
У вас есть пробел- разделенную строку, и вам необходимо извлечь определенный раздел строки на основе ее относительного положения. Например, из строки «AAAA BBBB CCCC DDDD EEE» вы хотите извлечь подстроку «CCCC».

Решение:
MySQL предоставляет мощную функцию SUBSTRING_INDEX, которая позволяет вам нужно найти n-е вхождение подстроки в большую строку. Чтобы найти второй (или третий) пробел в строке, вы можете использовать вложенные вызовы SUBSTRING_INDEX.

SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(field, ' ', 3), ' ', -1)
FROM table

В приведенном выше запросе внутренний вызов SUBSTRING_INDEX извлекает подстроку до третьего пробела в столбце поля, что дает вам «AAAA BBBB CCCC». Внешний вызов SUBSTRING_INDEX затем изолирует подстроку после третьего пробела, который в данном случае является «CCCC».

Вкладывая несколько вызовов SUBSTRING_INDEX, вы можете продолжать идентифицировать последующие вхождения разделителя и извлекать нужные подстроки как нужный. Эта универсальная функция обеспечивает удобный и эффективный способ решения сложных задач по манипулированию строками в MySQL.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3