[MySQL/MariaDB] Aus Textstring bestimmte Werte extrahieren

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Benutzeravatar
MegaV0lt
Beiträge: 173
Registriert: 21.11.2011 11:16:07
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

[MySQL/MariaDB] Aus Textstring bestimmte Werte extrahieren

Beitrag von MegaV0lt » 19.04.2020 12:39:29

Von SQL habe ich leider kaum Ahnung und möchte aber bei einem bestehenden Projekt für EPG-Daten aus einem Textfeld (Beschreibung) bestimmte Werte extrahieren.

Beispiel einer Beschreibung (cnt_longdescription Zeile 45):

Code: Alles auswählen

2. Staffel, Folge 7: Die Beschreibung der jeweiligen Sendung...
Der Anfang ist der interessante Teil. Der allerdings auch fehlen kann. Ich benötige die beiden Werte "2" und "7", jeweils um sie einzufügen wenn "epi_season" oder "epi_part" leer sind. (Zeile 68-69)
Die sql, die das macht ist hier: https://www.dropbox.com/s/kcfjavm4hwrgf ... V.sql?dl=0
Es gibt noch eine sql, die dazu gehört, und irgend was vorbereitet: https://www.dropbox.com/s/u2sqp7v8n6z2r ... n.sql?dl=0

Leider hab ich da nicht den Durchblick. Es müsste aber doch möglich sein anhand von ". Staffel, Folge" die werte zu bekommen. Die erste Zahl kann ist wohl nie größer als 99 und die zweite 999

Da ist also ein SQL-Experte gefragt
"Das Internet? Gibt's diesen Blödsinn immer noch?"
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.

Benutzeravatar
Meillo
Moderator
Beiträge: 9225
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: [MySQL/MariaDB] Aus Textstring bestimmte Werte extrahieren

Beitrag von Meillo » 19.04.2020 19:15:56

NIcht dass ich der grosse SQL-Experte waere ... bisher habe ich solche Aufgaben ausserhalb von SQL geloest. Hier habe ich mal was zusammengehackt:

Code: Alles auswählen

select
	substring_index(cnt_longdescription, '. Staffel', 1) as staffel,
	substring_index(substring_index(cnt_longdescription, 'Folge ', -1), ':', 1) as folge
... nicht gerade schoen, ausserdem stark abhaengig von der exakten Form des Strings, aber es koennte vielleicht gut genug funktionieren.
Use ed once in a while!

Benutzeravatar
MegaV0lt
Beiträge: 173
Registriert: 21.11.2011 11:16:07
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: [MySQL/MariaDB] Aus Textstring bestimmte Werte extrahieren

Beitrag von MegaV0lt » 21.04.2020 15:50:19

Vielen Dank!
Das hat mich schon mal weiter gebracht
"Das Internet? Gibt's diesen Blödsinn immer noch?"
[Homer Simpson], Sicherheitsinspektor im Kernkraftwerk Springfield.

Antworten