Michael Schröpl: mySQL und regular expressions: Auch in Update?

Beitrag lesen

Hallo Leute,

ich experimentiere gerade mit dem mySQL-feature, innerhalb von WHERE-Klauseln nicht nur einfache String-Vergleiche und LIKE-Operationen, sondern richtige regular expressions einzusetzen.

Ein Beispiel:
   SELECT COUNT(*)
     FROM t_story
    WHERE d_headline REGEXP '^ +.*';

Mit LIKE könnte ich die Eigenschaft, variabel viele Leerzeichen am Anfang zu haben, schon nicht mehr ausdrücken. Und falls der regexp-Auswerter "greedy" wäre, würde er mit '.*' genau den Inhalt ab dem ersten Nicht-Leerzeichen ausdrücken. Genau dieser interessiert mich ...

Aus Perl bin ich gewohnt, daß regular expressions mir über runde Klammern erlauben, auf die gematchten Inhalte zuzugreifen.
Deshalb meine Frage: Gibt es so etwas auch in mySQL?

Ich würde nämlich gerne alle führenden Leerzeichen aus dieser Spalte entfernen (welche durch mein fehlerhaftes Import-Programm versehentlich dorthin gelangt sind und nun stören - und nein, ich habe die Import-Daten nicht mehr im Original, und es würde auch einige Tage dauern, sie nochmal durch das - inzwischen reparierte - Import-Programm zu jagen).
Klar, ich könnte dafür auch wieder ein Perl-Programm schreiben, um dieses eine Feld zu patchen - aber geht das nicht vielleicht direkt mit einem mySQL-Statement?
Falls ja, würde ich das gerne beherrschen lernen - so etwas kann ich im Moment nämlich ständig brauchen.

Im Handbuch habe ich allerdings unter UPDATE nichts Ermutigendes in dieser Hinsicht gefunden.
Ich verwende die Version 3.23.47, also nagelneu.

Viele Grüße
      Michael