Divide una cadena mediante un delimitador y devuelve el elemento en la posición especificada, con base cero. Devuelve NULL si algún argumento es NULL, si el índice está fuera de rango o si el índice es -1.
Sintaxis
VARCHAR SPLIT_INDEX(VARCHAR str, VARCHAR sep, INT index)
Argumentos
|
Argumento |
Tipo de dato |
Descripción |
|
|
VARCHAR |
La cadena que se va a dividir. |
|
|
VARCHAR |
El delimitador. |
|
|
INT |
La posición del elemento que se va a devolver, con base cero. Devuelve NULL si el índice está fuera de rango o si es -1. |
Ejemplo
Datos de prueba
|
str (VARCHAR) |
sep (VARCHAR) |
index (INT) |
|
Jack,John,Mary |
, |
2 |
|
Jack,John,Mary |
, |
3 |
|
Jack,John,Mary |
NULL |
0 |
|
Jack,John,Mary |
, |
-1 |
|
NULL |
, |
0 |
Código de prueba
SELECT SPLIT_INDEX(str, sep, index) AS var1
FROM T1;
Resultado de la prueba
|
var1 (VARCHAR) |
|
Mary |
|
NULL |
|
NULL |
|
NULL |
|
NULL |
Explicación del resultado
Fila 1: al dividir
"Jack,John,Mary"con","se obtiene["Jack", "John", "Mary"]. El índice 2 devuelve"Mary".Fila 2: el índice 3 está fuera de rango (el arreglo tiene los índices del 0 al 2), por lo que el resultado es NULL.
Fila 3:
sepes NULL, por lo que el resultado es NULL.Fila 4: el índice es -1, por lo que el resultado es NULL.
Fila 5:
stres NULL, por lo que el resultado es NULL.