Практика
как известно MySQL не имеет встроенной функции explode, но ее можно сымитировать причем с использованием UTF-8 тоесть с поддежкой кириллицы -русских букв
CREATE DEFINER=`root`@`%` FUNCTION `explode`(delimiter VARCHAR(12),string TEXT, indexWord INT) RETURNS varchar(255) CHARSET utf8mb4 DETERMINISTIC RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(string , delimiter , indexWord ), CHAR_LENGTH(SUBSTRING_INDEX(string , delimiter , indexWord -1)) + 1),delimiter , '')
Очень важно использовать именно CHAR_LENGTH вместо LENGTH .
пример использования
Если нужно возвращать много строк (коллекцию) то можно использовать такую функцию
нуно иметь таблицу
temp_table_collection(id, one_word) с минимум 2 мя полями и создать хранимую функию
пример использования
После выполнения будет вставлена каждая запись после запятой во временную таблицу temp_table_collection
спасибо)
Комментарии
Оставить комментарий
Базы данных - MySql (Maria DB)
Термины: Базы данных - MySql (Maria DB)