Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Ergebnisse in MySQL über REGEX parsen

MySQL verfügt nicht über integrierte Funktionen, um das zu tun, wonach Sie fragen. Es wäre möglich, einige neue Funktionen zu definieren, aber es ist wahrscheinlich einfacher, es einfach in der Programmiersprache zu tun, mit der Sie auf die Datenbank zugreifen.

Für etwas so Einfaches wie eine E-Mail-Adresse sollten Sie jedoch überhaupt keine regulären Ausdrücke verwenden müssen, Sie können den SUBSTRING_INDEX() Funktion , als:

SELECT
    SUBSTRING_INDEX(email, '@', 1) AS Username,
    SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
    SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;

In Worten, das ist:

  • Benutzername =alles vor dem ersten '@'
  • Domain =alles zwischen dem ersten '@' und dem ersten '.'
  • TLD =alles nach dem letzten '.'