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

Dividir cadenas usando mysql

MySQL no incluye una función para dividir una cadena delimitada. Sin embargo, es muy fácil crear su propia función.

Función definida por el usuario:

CREATE [AGGREGATE] FUNCTION function_name
RETURNS {STRING|INTEGER|REAL|DECIMAL}

Función:

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, '');

Uso:

SELECT SPLIT_STR(string, delimiter, position)