Maison >base de données >tutoriel mysql >Comment diviser les chaînes séparées par les virgules dans SQL Server 2008 R2?

Comment diviser les chaînes séparées par les virgules dans SQL Server 2008 R2?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-25 07:11:08389parcourir

How to Split Comma-Separated Strings in SQL Server 2008 R2?

Analyse efficace des chaînes séparées par des virgules dans SQL Server 2008 R2

Travailler avec des chaînes séparées par des virgules dans SQL Server 2008 R2 nécessite souvent de les diviser en éléments individuels. Même si certaines solutions en ligne ne suffisent pas, cette fonction personnalisée constitue une méthode fiable :

<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX))
RETURNS @returnList TABLE ([Name] [nvarchar](500))
AS
BEGIN
  DECLARE @name NVARCHAR(255), @pos INT;
  WHILE CHARINDEX(',', @stringToSplit) > 0
  BEGIN
    SELECT @pos = CHARINDEX(',', @stringToSplit);
    SELECT @name = SUBSTRING(@stringToSplit, 1, @pos - 1);
    INSERT INTO @returnList SELECT @name;
    SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos + 1, LEN(@stringToSplit) - @pos);
  END
  INSERT INTO @returnList SELECT @stringToSplit;
  RETURN;
END;</code>

Cette fonction, dbo.splitstring, prend une chaîne séparée par des virgules en entrée et renvoie un tableau où chaque ligne contient un seul élément. Pour l'utiliser :

<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789');</code>

Cette requête séparera efficacement la chaîne d'entrée en ses éléments constitutifs, fournissant ainsi une solution pratique pour gérer les données délimitées par des virgules dans SQL Server 2008 R2.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn