Cadena dividida del servidor SQL

Cadena dividida del servidor SQL
Si ha trabajado con bases de datos durante mucho tiempo, es probable que se haya preguntado cómo convertir una secuencia de cadenas en filas en una base de datos. En los últimos años, tendría que implementar un método personalizado para convertir una secuencia de cadenas en filas de tabla. Sin embargo, en Microsoft SQL Server 2016 y arriba, podemos usar la función String_Split ().

Como se discutió en esta guía, tomaremos una cadena en un formato de matriz y la convertiremos en un conjunto de filas basadas en un delimitador específico.

Función SQL Server String_Split ()

El servidor SQL String_split () es una función con valor de tabla introducida en SQL Server 2016. Le permite dividir una cadena en hileras de tabla de sub-strings separadas por un delimitador especificado.

La sintaxis para la función string_split es como se muestra:

string_split (string, delimitador);

Argumentos de función y valor de retorno

La función toma dos argumentos:

  1. Cadena: una cadena literal o una expresión que evalúa a Char, Varchar, Nvarchar, tipo NChar.
  2. delimitador: un valor delimitador utilizado para separar las cadenas.

Valor de retorno
La función devuelve la columna única con un valor de nombre. Las filas son las cadenas separadas por la función.

Aunque la función separa las cadenas en filas en función del delimitador especificado, la función puede organizar las filas en cualquier orden. Puede usar la cláusula de orden por definir su orden de clasificación.

Cadena dividida: ejemplos

Veamos algunos ejemplos y comprendamos cómo usar la función String_Split en SQL Server.

Ejemplo 1
La consulta de ejemplo a continuación separa una cadena usando un espacio como delimitador.

Seleccione Valor de String_Split ('MySQL PostgreSQL MongoDB SQL Server SQLite', ");

La consulta de arriba debe dividir las cuerdas con un carácter espacial y devolver las filas. Una salida de ejemplo es como se muestra:

Ejemplo 2
También puede separar una cadena separada por comas como se muestra en la consulta a continuación:

Seleccione Valor de String_Split ('MySQL, PostgreSQL, MongoDB, SQL Server, SQLite', ',');

La función debe devolver los resultados como:

Ejemplo 3
El siguiente ejemplo muestra cómo usar la cláusula de orden por orden con la función string_split ().

Seleccione Valor de String_Split ('MySQL, PostgreSQL, MongoDB, SQL Server, SQLite', ',', ') orden por valor Desc;

Los registros resultantes son como se muestra:

Clausura

Esta guía corta lo ayuda a usar la función SQL Server String_Split para separar las cadenas basadas en un delimitador.