sql >> Databasteknik >  >> RDS >> Mysql

analysera resultat i MySQL via REGEX

MySQL har inte inbyggd funktionalitet för att göra det du efterfrågar. Det skulle vara möjligt genom att definiera några nya funktioner, men det är förmodligen enklare att bara göra det på vilket programmeringsspråk du än kommer åt databasen genom.

För något så enkelt som en e-postadress bör du dock inte behöva använda reguljära uttryck alls, du kan använda SUBSTRING_INDEX() funktion , som:

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

Med ord, det är:

  • Användarnamn =allt före det första '@'
  • Domän =allt mellan det första '@' och det första '.'
  • TLD =allt efter den sista '.'


  1. mysql hierarkilagring med stora träd

  2. Förstå dataarkitekternas roll i datastyrning

  3. Matcha '%'-tecken när du söker i MySQL-databas

  4. PHP/MYSQL Gå med i flera tabeller