sql >> Databáze >  >> RDS >> Mysql

analyzovat výsledky v MySQL přes REGEX

MySQL nemá vestavěnou funkcionalitu, která by dělala to, co požadujete. Bylo by to možné nadefinováním některých nových funkcí, ale pravděpodobně je jednodušší to udělat v jakémkoli programovacím jazyce, přes který k databázi přistupujete.

Pro něco tak jednoduchého, jako je e-mailová adresa, byste však neměli používat regulární výrazy vůbec, můžete použít SUBSTRING_INDEX() funkce , jako:

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

Slovy, to je:

  • Uživatelské jméno =vše před prvním znakem „@“
  • Doména =vše mezi prvním znakem „@“ a prvním znakem „.“
  • TLD =vše za poslední '.'


  1. Opravdu musím použít SET XACT_ABORT ON?

  2. Připojení Java ke Cloud SQL 2nd Gen z Appengine Managed VM

  3. Existuje v MySQL FIND_IN_SET podle indexu?

  4. Porovnání období