Heim >Datenbank >MySQL-Tutorial >Wie kann ich von Kommas getrennte Zeichenfolgen in T-SQL 2008 R2 teilen?

Wie kann ich von Kommas getrennte Zeichenfolgen in T-SQL 2008 R2 teilen?

DDD
DDDOriginal
2025-01-25 07:02:07672Durchsuche

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

Zeichenfolge in T-SQL 2008 R2 teilen

In SQL Server 2008 R2 stehen Benutzer vor Herausforderungen, wenn sie versuchen, durch Kommas getrennte Zeichenfolgen aufzuteilen. Trotz der Suche nach StackOverflow scheint es, dass die verfügbaren Lösungen möglicherweise nicht mit dieser Version kompatibel sind.

Lösung

Um Zeichenfolgen in T-SQL 2008 R2 effizient aufzuteilen, können die folgenden benutzerdefinierten Funktionen verwendet werden:

<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>

Nutzungsbeispiele

Um diese Funktion zu verwenden, führen Sie die folgende Abfrage aus:

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

Diese Abfrage gibt eine Ergebnistabelle zurück, die einzelne durch Kommas getrennte Zeichenfolgenelemente enthält.

Das obige ist der detaillierte Inhalt vonWie kann ich von Kommas getrennte Zeichenfolgen in T-SQL 2008 R2 teilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn