Trennzeichenbasierte Zeichenfolgenaufteilung in T-SQL, Behandlung fehlender Trennzeichen
In T-SQL müssen Sie möglicherweise eine Zeichenfolge basierend auf einem bestimmten Trennzeichen aufteilen, auch wenn dieses Trennzeichen nicht immer vorhanden ist. Diese Aufgabe wird normalerweise mit der SUBSTRING-Funktion ausgeführt. Der in der Frage bereitgestellte Code schlägt jedoch fehl, wenn in einer Zeile das erwartete Trennzeichen fehlt.
Um dieses Problem zu beheben, berücksichtigen Sie den folgenden geänderten Code:
<code class="language-sql">SELECT CASE WHEN CHARINDEX('/', myColumn) = 0 THEN myColumn ELSE SUBSTRING(myColumn, 1, CHARINDEX('/', myColumn) - 1) END AS FirstName, CASE WHEN CHARINDEX('/', myColumn) = 0 THEN NULL ELSE SUBSTRING(myColumn, CHARINDEX('/', myColumn) + 1, LEN(myColumn)) END AS LastName FROM MyTable;</code>
In diesem Code wird eine CASE-Anweisung verwendet, um zu bestimmen, wo die Teilzeichenfolgen für die Spalten FirstName und LastName beginnen und enden. Die Startposition der FirstName-Spalte wird auf den Anfang der Zeichenfolge (wenn kein Trennzeichen gefunden wird) oder das Zeichen vor dem Trennzeichen festgelegt. Ebenso wird die Endposition der Spalte „Vorname“ auf das Ende der Zeichenfolge oder das Zeichen vor dem Trennzeichen festgelegt.
Diese Methode stellt sicher, dass der Code Zeilen mit erwarteten Trennzeichen sowie Zeilen ohne erwartete Trennzeichen verarbeiten kann, ohne Fehler zu generieren. Die resultierende Ausgabe liefert die erforderlichen Werte für „Vorname“ und „Nachname“, auch für Zeilen ohne Trennzeichen, in denen fehlende Werte als NULL angezeigt werden. Dies ist prägnanter und effizienter als der Originalcode und behandelt fehlende Trennzeichen klarer.
Das obige ist der detaillierte Inhalt vonWie teile ich Zeichenfolgen in T-SQL mit fehlenden Trennzeichen auf?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!