sql >> Base de Datos >  >> RDS >> Mysql

Equivalente de explotar () para trabajar con cadenas en MySQL

MYSQL no tiene explode() como función incorporada. Pero puede agregar fácilmente una función similar a su base de datos y luego usarla desde consultas php. Esa función se verá así:

CREATE FUNCTION SPLIT_STRING(str VARCHAR(255), delim VARCHAR(12), pos INT)
RETURNS VARCHAR(255)
RETURN REPLACE(SUBSTRING(SUBSTRING_INDEX(str, delim, pos),
       CHAR_LENGTH(SUBSTRING_INDEX(str, delim, pos-1)) + 1),
       delim, '');

Uso:

SELECT SPLIT_STRING('apple, pear, melon', ',', 1)

El ejemplo anterior devolverá apple .Creo que será imposible devolver una matriz en MySQL, por lo que debe especificar qué ocurrencia devolver explícitamente en pos . Avíseme si tiene éxito al usarlo.