Abrufen einer Zeichenfolge zwischen bekannten Trennzeichen mithilfe von SQL
In Datenbankszenarien ist es häufig erforderlich, eine bestimmte Teilzeichenfolge aus einer größeren Zeichenfolge basierend auf zu extrahieren bekannte Trennzeichen. Beispielsweise müssen Sie möglicherweise einen Textabschnitt zwischen zwei bestimmten Zeichenfolgen isolieren.
Ein gängiger Ansatz ist die Verwendung der SUBSTRING-Funktion. Ein häufiger Fehler bei der Verwendung dieser Funktion besteht jedoch darin, den Index der ersten bekannten Zeichenfolge in die Längenberechnung für die Teilzeichenfolge einzubeziehen.
Um eine Teilzeichenfolge zwischen zwei Trennzeichen korrekt abzurufen, ist die folgende Berechnung erforderlich:
CHARINDEX(second_delimiter, @Text) - CHARINDEX(first_delimiter, @Text) + Length(second_delimiter)
Diese Formel stellt sicher, dass die abgerufene Teilzeichenfolge mit dem ersten Trennzeichen beginnt und mit dem zweiten Trennzeichen endet.
Bedenken Sie beispielsweise Folgendes Abfrage:
SELECT SUBSTRING(@Text, CHARINDEX('the dog', @Text), CHARINDEX('immediately', @Text) - CHARINDEX('the dog', @Text) + LEN('immediately'))
In dieser Abfrage stellt @Text die Eingabezeichenfolge dar. Durch Angabe der bekannten Zeichenfolgen „der Hund“ und „sofort“ ruft die Abfrage genau die Teilzeichenfolge „Der Hund war sehr schlecht und erforderte sofort eine harte Bestrafung“ ab.
Durch die Korrektur der Teilzeichenfolgenlängenberechnung können Sie dies effektiv tun Extrahieren Sie bestimmte Textteile innerhalb größerer Zeichenfolgen mithilfe von SQL.
Das obige ist der detaillierte Inhalt vonWie extrahiere ich eine Teilzeichenfolge zwischen zwei Trennzeichen in SQL korrekt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!