Heim >Datenbank >MySQL-Tutorial >Wie extrahiere ich eine Teilzeichenfolge zwischen zwei Trennzeichen in SQL korrekt?

Wie extrahiere ich eine Teilzeichenfolge zwischen zwei Trennzeichen in SQL korrekt?

Susan Sarandon
Susan SarandonOriginal
2024-12-26 19:27:11799Durchsuche

How to Correctly Extract a Substring Between Two Delimiters in SQL?

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!

Stellungnahme:
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