Chaîne divisée SQL Server

Chaîne divisée SQL Server
Si vous travaillez avec des bases de données depuis longtemps, il est probable que vous vous demandiez comment transformer une séquence de chaînes en lignes dans une base de données. Au cours des dernières années, vous devrez implémenter une méthode personnalisée pour convertir une séquence de chaînes en lignes de table. Cependant, dans Microsoft SQL Server 2016 et plus, nous pouvons utiliser la fonction string_split ().

Comme discuté dans ce guide, nous prendrons une chaîne dans un format de type tableau et la convertirons en un ensemble de lignes basées sur un délimiteur spécifique.

Fonction SQL Server String_split ()

Le SQL Server String_split () est une fonction à valeur de table introduite dans SQL Server 2016. Il vous permet de diviser une chaîne en lignes de table de sous-chaînes séparées par un délimiteur spécifié.

La syntaxe de la fonction string_split est comme indiqué:

String_split (String, Delimiter);

Arguments de fonction et valeur de retour

La fonction prend deux arguments:

  1. String - une chaîne littérale ou une expression qui évalue à char, varchar, nvarchar, nChar type.
  2. délimiteur - une valeur de délimiteur utilisée pour séparer les chaînes.

Valeur de retour
La fonction renvoie la colonne unique avec une valeur de nom. Les lignes sont les chaînes séparées par la fonction.

Bien que la fonction sépare les chaînes en lignes en fonction du délimiteur spécifié, la fonction peut organiser les lignes dans n'importe quel ordre. Vous pouvez utiliser la clause Order Order by pour définir votre commande de tri.

Chaîne divisée: exemples

Regardons quelques exemples et comprenons comment utiliser la fonction string_split dans SQL Server.

Exemple 1
L'exemple de requête ci-dessous sépare une chaîne en utilisant un espace comme délimiteur.

Sélectionnez la valeur dans string_split ('mysql postgresql mongodb sql server sqlite', ");

La requête ci-dessus doit diviser les cordes avec un caractère spatial et retourner les lignes. Un exemple de sortie est comme indiqué:

Exemple 2
Vous pouvez également séparer une chaîne séparée par des virgules comme indiqué dans la requête ci-dessous:

Sélectionnez Valeur dans String_Split ('MySQL, PostgreSQL, MongoDB, SQL Server, SQLite', ',');

La fonction doit renvoyer les résultats comme:

Exemple 3
L'exemple ci-dessous montre comment utiliser la clause Order By avec la fonction string_split ().

SELECT VALLE FROM String_split ('MySQL, PostgreSQL, MongoDB, SQL Server, SQLite', ',') Ordre par valeur desc;

Les enregistrements résultants sont comme indiqué:

Fermeture

Ce court guide vous aide à utiliser la fonction SQL Server String_split pour séparer les chaînes en fonction d'un délimiteur.