Heim >Datenbank >MySQL-Tutorial >Wie kann ich von Kommas getrennte Zeichenfolgen in T-SQL 2008 R2 teilen?
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!