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 Parsename -Split -Zeichenfolge:
<code class="language-sql">REPLACE('Hello John Smith', ' ', '.')</code>
<code class="language-sql">SELECT PARSENAME(REPLACE('Hello John Smith', ' ', '.'), 2)</code>
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>
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!