Question:
L'utilisation de séparateurs (comme la virgule) La chaîne de segmentation est des besoins communs dans le traitement des données. Cependant, de nombreuses solutions efficaces dans la version supérieure de SQL Server ne conviennent pas à SQL Server 2008 R2.Solution:
Pour SQL Server 2008 R2, une méthode fiable consiste à utiliser T-SQL pour créer une fonction de définition de l'utilisateur personnalisé (UDF). L'UDF suivant appelé dbo.splitstring peut être utilisé pour diviser la chaîne en fonction des séparateurs spécifiés:
Pour utiliser cet UDF, passez simplement la chaîne pour être divisée en tant que paramètre, comme indiqué ci-dessous:
<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX)) RETURNS @returnList TABLE ([Name] [nvarchar](500)) AS BEGIN DECLARE @name NVARCHAR(255) DECLARE @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>
Cela renverra une table, qui contient les composants de la chaîne d'origine, qui est séparée par des virgules.
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
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!