Russian (CIS)
 
MySQL разделяй и властвуй
21.01.2013 09:03

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

 

Напишем функцию которая будет выполнять поставленную задачу.

Наша функция будет выглядеть так:

CREATE FUNCTION SPLIT_STR(
  x VARCHAR(255),
  delim VARCHAR(12),
  pos INT
)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(x, delim, pos),
       LENGTH(SUBSTRING_INDEX(x, delim, pos -1)) + 1),
       delim, '');

Для использования данной функции достаточно указать:

 

  • строку
  • разделитель
  • порядковый номер результата который получается после разделения

 

например:

SELECT SPLIT_STR('x,bb,yyy,cccc', ',', 2) as second;
+--------+
| second |
+--------+
| bb     |
+--------+

 

 
reload Загадки, Афоризмы

Легче всего создаются трудности

Посещаемость

Яндекс.Метрика