Mysql
 sql >> Database >  >> RDS >> Mysql

Dividi le stringhe usando mysql

MySQL non include una funzione per dividere una stringa delimitata. Tuttavia, è molto facile creare la tua funzione.

Funzione di definizione dell'utente:

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

Funzione:

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

Utilizzo:

SELECT SPLIT_STR(string, delimiter, position)