Ich möchte die ersten 4 Wörter und die letzten 4 Wörter nach dem bestimmten Schlüsselwort aus der Datenbank finden. Angenommen, das Schlüsselwort ist "Account"
, dann möchte ich die ersten 4 Wörter finden, bevor "Account"
in einer Zeile erscheint und 4 Wörter nach "Account"
in einer Zeile erscheinen.
Momentan verwende ich diese Abfrage, um die ersten 20 Zeichen und die letzten 20 Zeichen nach einem bestimmten Schlüsselwort zu finden.
%Vor%SQL heißt * S * QL aus einem bestimmten Grund - Sie werden nicht in der Lage sein, etwas so fortgeschrittenes zu tun, ohne die Hilfe einer zwischengeschalteten Programmiersprache - es sei denn, Sie wollen Dinge unordentlich werden.
Die kurze Antwort ist, dass Sie eine UDF (benutzerdefinierte Funktion) verwenden müssen, um zuerst zu teilen und dann Ihre begrenzte Zeichenfolge (in Leerzeichen '') zu analysieren, dann können Sie Ihre -4 / + 4-Logik anwenden.
Hier ist der beste Artikel im Netz auf SQL-UDFs, um Sie zu beginnen:
Viel Glück!
PS - es wird viel einfacher sein, einfach deine +/- 30 chr zu nehmen, dann mach das Parsing aber auch extern =]. Es wird wahrscheinlich auch mehr Systemressourcen speichern.
Tags und Links mysql