Heim > Datenbank > MySQL-Tutorial > Wie kann ich effizient mit Komma-Delimited-Zeichenfolgen in SQL Server 2008 R2 teilen?

Wie kann ich effizient mit Komma-Delimited-Zeichenfolgen in SQL Server 2008 R2 teilen?

DDD
Freigeben: 2025-01-25 06:56:08
Original
469 Leute haben es durchsucht

How Can I Efficiently Split Comma-Delimited Strings in SQL Server 2008 R2?

T-SQL-Zeichenfolgenaufteilung in SQL Server 2008 R2

SQL Server 2008 R2 verfügt nicht über eine integrierte Funktionalität zur Zeichenfolgenaufteilung, was die Verarbeitung von durch Kommas getrennten Zeichenfolgen zu einer Herausforderung macht. Dieser Artikel zeigt eine robuste Lösung mithilfe einer benutzerdefinierten Funktion.

Erstellen einer benutzerdefinierten Split-Funktion

Die folgende dbo.splitstring-Funktion teilt durch Kommas getrennte Zeichenfolgen effizient auf:

<code class="language-sql">CREATE FUNCTION dbo.splitstring (@stringToSplit VARCHAR(MAX))
RETURNS @returnList TABLE ([Name] [nvarchar](500))
AS
BEGIN
    DECLARE @name NVARCHAR(255), @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>
Nach dem Login kopieren

Funktionsnutzung

Um die Funktion zu verwenden, übergeben Sie einfach die zu teilende Zeichenfolge als Parameter:

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

Dadurch wird eine Tabelle mit jedem durch Kommas getrennten Wert in einer separaten Zeile erstellt:

| Name | |---|---| | 91 | | 12 | | 65 | | 78 | | 56 | | 789 |

Diese benutzerdefinierte Funktion bietet eine zuverlässige Methode zum Umgang mit durch Kommas getrennten Zeichenfolgen innerhalb der Einschränkungen von SQL Server 2008 R2.

Das obige ist der detaillierte Inhalt vonWie kann ich effizient mit Komma-Delimited-Zeichenfolgen in SQL Server 2008 R2 teilen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage