Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Dividir strings usando mysql


O MySQL não inclui uma função para dividir uma string delimitada. No entanto, é muito fácil criar sua própria função.

Função definida pelo usuário:
CREATE [AGGREGATE] FUNCTION function_name
RETURNS {STRING|INTEGER|REAL|DECIMAL}

Função:
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)