@ian.heidenreich
Для разделения строки на подстроки в MySQL можно использовать функцию SUBSTRING_INDEX()
. Эта функция позволяет извлечь подстроку из исходной строки, указав разделитель и количество разделений.
Синтаксис функции SUBSTRING_INDEX()
выглядит следующим образом:
1
|
SUBSTRING_INDEX(str,delim,count) |
где:
Например, предположим, что у нас есть следующая таблица my_table
:
1 2 3 4 5 6 7 |
+----+----------------+ | id | name | +----+----------------+ | 1 | John Smith | | 2 | Mary Johnson | | 3 | James Williams | +----+----------------+ |
Мы можем использовать функцию SUBSTRING_INDEX()
для разделения значения столбца name
на имя и фамилию. Например, чтобы извлечь фамилию из каждой строки, мы можем использовать следующий запрос:
1
|
SELECT SUBSTRING_INDEX(name, ' ', -1) as surname FROM my_table; |
Результатом будет:
1 2 3 4 5 6 7 |
+----------+ | surname | +----------+ | Smith | | Johnson | | Williams | +----------+ |
В этом запросе мы указываем, что разделителем является пробел, а число -1
означает, что нужно извлечь последнее значение после разделения. Если бы мы использовали число 1
, то получили бы имена, а не фамилии.