Heim > Datenbank > MySQL-Tutorial > Wie kann ich ohne native Split -Funktion abgrenzende Zeichenfolgen auf SQL Server teilen?

Wie kann ich ohne native Split -Funktion abgrenzende Zeichenfolgen auf SQL Server teilen?

Linda Hamilton
Freigeben: 2025-01-25 12:57:09
Original
537 Leute haben es durchsucht

How Can I Split Delimited Strings in SQL Server Without a Native Split Function?

Teilen Sie die separatistische Zeichenfolge in SQL Server

SQL Server fehlt die native String -Segmentierungsfunktion, die bei der Verarbeitung der Trennzeichenfolge Herausforderungen bringt. Wir können jedoch die Parsename -Funktion geschickt verwenden, um dieses Problem zu lösen.

Es ist notwendig, die Zeichenfolge wie "Hallo John Smith" zu teilen und auf einen bestimmten Index in einem bestimmten Index in einem bestimmten Index gemäß den Segmenten (z. B. Speicherplatz) zuzugreifen. Befolgen Sie bitte die folgenden Schritte:

Verwenden Sie verschiedene Zeichen, um das Trennzeichen zu ersetzen:
    Verwenden Sie die Funktion ersetzen (), um den Raum in eindeutiges Zeichen wie ein Ende zu ersetzen. Zum Beispiel:

Verwenden Sie die Parsename -Split -Zeichenfolge:

<code class="language-sql">REPLACE('Hello John Smith', ' ', '.')</code>
Nach dem Login kopieren
Die Parseename -Funktion wird gemäß dem neuen Trennzeichen in eine modifizierte Zeichenfolge unterteilt. Sein zweiter Parameter bestimmt, welchen Absatz abgerufen werden soll. Um das Projekt 1 (John) zu besuchen, verwenden Sie bitte:
  1. Diese Methode wird erreicht, indem eine temporäre Tabelle mit nur einer Spalte erstellt wird, und jeder Wert repräsentiert ein Fragment der ursprünglichen Zeichenfolge. Es ist jedoch zu beachten, dass diese Methode möglicherweise nicht anwendbar ist, wenn die ursprüngliche Zeichenfolge bereits ein Satzzeichen enthält.
dritte -party -Lösung
<code class="language-sql">SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)</code>
Nach dem Login kopieren

oder Sie können in Betracht ziehen, eine Benutzer -definierte Funktion (UDF) zu verwenden, die speziell für die String -Segmentierung verwendet wird. Diese Methode bietet eine größere Flexibilität und Zuverlässigkeit.

Folgendes ist ein UDF

wie man Beispiel verwendet:

Um die Separatoren "" "Division String" Hallo John Smith "zu verwenden, führen Sie bitte die folgenden Anfragen aus:

Diese Abfrage gibt eine Tabelle mit zwei Spalten zurück: RN (Index des Projekts) und Element (den Wert des Projekts).
<code class="language-sql">CREATE FUNCTION Split(@String VARCHAR(MAX), @Delimiter VARCHAR(1))
RETURNS TABLE
AS
RETURN (SELECT Item FROM (
    SELECT ROW_NUMBER() OVER (ORDER BY r.rn) AS rn,
           LEFT(s, CHARINDEX(@Delimiter, s) - 1) AS Item
    FROM (SELECT @String AS s, 1 AS rn
          UNION ALL
          SELECT SUBSTRING(@String, CHARINDEX(@Delimiter, @String) + 1, LEN(@String)), rn + 1
          FROM Split(@String, @Delimiter)) AS r
    WHERE s IS NOT NULL
) AS t)</code>
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich ohne native Split -Funktion abgrenzende Zeichenfolgen auf SQL Server 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage