SQL Split String by Delimiter

SQL Split String by Delimiter
Este artículo discutirá las diversas formas en que puede dividir una cadena por un delimitador en varios motores de base de datos SQL.

Cadena dividida SQL estándar

El primer método es sobre cómo usar SQL estándar para dividir una cadena por un delimitador. Para eso, podemos usar la función Split () como se muestra en la sintaxis a continuación:

División (valor [, delimitador])

La función toma la cadena y el delimitador como argumentos. Luego, divide la cadena en función del delimitador especificado.

La función dividirá una cadena basada en un delimitador de coma de forma predeterminada. Sin embargo, debe especificar el delimitador de destino para bytes.

Si especifica un delimitador vacío, la función devolverá una matriz de UTF-8 caracteres de los valores de cadena. Del mismo modo, si la entrada es un byte, la función devolverá una matriz de bytes.

Considere el siguiente código de ejemplo:

SELECCIONAR
Dividir ('a b c d e f g', ") como arr;

En la consulta anterior, usamos el método dividido para dividir la cadena usando un espacio como delimitador. La función debe devolver una matriz de cadenas como se muestra a continuación:

arrugado
"[A, B, C, D, E, F, G]"

(Nota: el ejemplo anterior es una variedad de cadenas.)

También puede especificar un delimitador personalizado como se ilustra en el código de ejemplo a continuación:

SELECCIONAR
Dividir ('a, b, c, d, e, f, g', ',') como arr;

En este ejemplo, especificamos el delimitador como una coma, que debería devolver un valor como se muestra a continuación:

arrugado
"[A, B, C, D, E, F, G]"

Si proporciona una cadena vacía, la función devolverá una matriz vacía. Esto se ilustra en el siguiente ejemplo:

SELECCIONAR
Dividir (",") como arr;

La consulta anterior debe devolver una salida como se muestra a continuación:

arrugado
[]

MySQL Split String

En MySQL, podemos usar la función SubString_Index () para dividir una cadena basada en el delimitador. La sintaxis de la función se proporciona a continuación:

Substring_index (string, delimitador, recuento)

La función toma la cadena, delimitador y el recuento como argumentos. Luego, devolverá el número de cadenas en función del recuento dividido por el delimitador proporcionado.

A continuación se muestra un uso de ejemplo:

Seleccione substring_index ('a, b, c, d, e, f', ',', 6);

La consulta anterior debe regresar de la siguiente manera:

a B C D e F

Para explorar más sobre la cadena dividida MySQL, verifique el recurso proporcionado a continuación:

https: // linuxhint.com/split-string-in-mysql/

Cadena dividida de PostgreSQL

En PostgreSQL, puede dividir una cadena usando la función split_part (). Esta función se desempeña muy similar al substring_index () en mysql.

La sintaxis de la función es como se muestra:

Split_part (cadena, delimitador, posición)

La función toma la cadena para dividir, el delimitador para usar y la parte de la cadena para devolver. El parámetro de posición debe ser un entero positivo a partir de 1.

Podemos ver un ejemplo como se muestra a continuación:

seleccione Split_part ('a, b, c, d, e, f, g', ',', 1);

Dividimos la cadena en función de una coma en el ejemplo anterior y obtenemos la primera cadena. La salida regresa como se muestra a continuación:

split_part
a

Cadena dividida del servidor SQL

En SQL Server, puede usar la función String_Split () para dividir una cadena basada en el delimitador. La sintaxis se muestra a continuación:

String_split (string, delimitador)

A continuación se proporciona un uso de ejemplo:

SELECCIONAR
valor
DE
String_split ('a, b, c, d', ',');

Esto debería volver de la siguiente manera:

valor
--------------------
a
b
C
d

Conclusión

Este artículo discutió varios métodos y funciones para dividir una cadena por delimitador en múltiples motores de base de datos. Esperamos que hayas encontrado este artículo útil. Consulte los otros artículos de Sugerencia de Linux para obtener más consejos y tutoriales.