Frage:
Das Extrahieren und Trennen von Werten aus durch Kommas getrennten Zeichenfolgen in SQL Server 2008 R2-Spalten war schon immer eine Herausforderung für Benutzer. Obwohl viele Lösungen vorgeschlagen wurden, war in dieser speziellen Version keine davon erfolgreich.
Lösung:
Um dieses Problem zu lösen, stellt die folgende Lösung eine umfassende Funktion speziell für SQL Server 2008 R2 bereit:
<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>
Um diese Funktion zu verwenden, fragen Sie einfach den gewünschten Wert mit der folgenden Syntax ab:
<code class="language-sql">SELECT * FROM dbo.splitstring('91,12,65,78,56,789')</code>
Das obige ist der detaillierte Inhalt vonWie teilt man durch Kommas getrennte Zeichenfolgen in SQL Server 2008 R2 effizient auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!