Maison > base de données > tutoriel mysql > Comment puis-je diviser des chaînes séparées par des virgules dans T-SQL 2008 R2 ?

Comment puis-je diviser des chaînes séparées par des virgules dans T-SQL 2008 R2 ?

DDD
Libérer: 2025-01-25 07:02:07
original
667 Les gens l'ont consulté

How Can I Split Comma-Separated Strings in T-SQL 2008 R2?

Chaîne divisée dans T-SQL 2008 R2

Dans SQL Server 2008 R2, les utilisateurs sont confrontés à des difficultés lorsqu'ils tentent de diviser des chaînes délimitées par des virgules. Malgré la recherche dans StackOverflow, il semble que les solutions disponibles ne soient pas compatibles avec cette version.

Solution

Pour diviser efficacement les chaînes dans T-SQL 2008 R2, les fonctions suivantes définies par l'utilisateur peuvent être utilisées :

<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>
Copier après la connexion

Exemples d'utilisation

Pour utiliser cette fonction, exécutez la requête suivante :

<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
Copier après la connexion

Cette requête renverra une table de résultats contenant des éléments de chaîne individuels séparés par des virgules.

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal