Функция MySQL SUBSTRING_INDEX ()
Функция SUBSTRING_INDEX ()
MySQL SUBSTRING_INDEX () возвращает подстроку из заданной строки перед указанным числом вхождений разделителя.
Подстрока возвращается слева от конечного разделителя, когда указанное число является положительным числом, и справа от конечного разделителя, когда указанное число является отрицательным числом.
Если указанное число больше, чем число вхождений разделителя, возвращенная подстрока будет итоговой строкой. Если указанное число равно 0, из заданной строки ничего не будет получено.
Синтаксис:
SUBSTRING_INDEX (str, delim, count)
аргументация
название | Описание |
---|---|
ул | Строка. |
DELIM | Разделитель |
подсчитывать | Целое число, указывающее количество вхождений разделителя. |
Синтаксическая диаграмма:
Версия MySQL: 5.6
Видео презентация
Пример: функция MySQL SUBSTRING_INDEX ()
Следующая инструкция MySQL возвращает подстроку слева от конечного разделителя, т.е. 2-го разделителя (.) Из заданной строки «www.mytestpage.info». Подсчет начинается слева от строки.
Код:
SELECT SUBSTRING_INDEX('www.mytestpage.info','.',2);
Пример вывода:
mysql> SELECT SUBSTRING_INDEX ('www.mytestpage.info', '.', 2); + ---------------------------------------------- + | SUBSTRING_INDEX ('www.mytestpage.info', '.', 2) | + ---------------------------------------------- + | www.mytestpage | + ---------------------------------------------- + 1 ряд в наборе (0,02 сек)
Иллюстрированная презентация
Пример функции MySQL SUBSTRING_INDEX () с использованием отрицательного числа
Следующая инструкция MySQL возвращает подстроку справа от конечного разделителя, то есть 2-го разделителя (.) Из заданной строки "www.mytestpage.info". Подсчет начинается справа от строки.
Код:
SELECT SUBSTRING_INDEX('www.mytestpage.info','.',-2);
Пример вывода:
mysql> SELECT SUBSTRING_INDEX ('www.mytestpage.info', '.', - 2); + ----------------------------------------------- + | SUBSTRING_INDEX ('www.mytestpage.info', '.', - 2) | + ----------------------------------------------- + | mytestpage.info | + ----------------------------------------------- + 1 ряд в наборе (0,00 сек)
Иллюстрированная презентация
Пример: разделение IP-адреса на 4 соответствующих октета с использованием функции MySQL SUBSTRING_INDEX ()
Следующая команда MySQL разбивает IP-адрес на 4 соответствующих октета (единицы цифровой информации). Предположим, что IP-адреса хранятся в примере таблицы с именем 'log_file'.
mysql> SELECT ip, SUBSTRING_INDEX (ip, '.', 1) AS part1, SUBSTRING_INDEX (SUBSTRING_INDEX (ip, '.', 2), '.', - 1) AS part2, SUBSTRING_INDEX (SUBSTRING_INDEX (ip, '.', - 2), '.', 1) AS part3, SUBSTRING_INDEX (ip, '.', - 1) AS part4 FROM log_file; + ----------------- + ------- + ------- + ------- + ------- + | IP | часть1 | часть2 | часть3 | часть4 | + ----------------- + ------- + ------- + ------- + ------- + | 127.0.0.1 | 127 | 0 | 0 | 1 | | 192.128.0.15 | 192 | 128 | 0 | 15 | | 255.255.255.255 | 255 | 255 | 255 | 255 | + ----------------- + ------- + ------- + ------- + ------- + 3 ряда в наборе (0,00 сек)
Все строковые функции
Новый контент: Composer: менеджер зависимостей для PHP , R программирования