Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

analisar resultados no MySQL via REGEX


O MySQL não possui funcionalidade interna para fazer o que você está pedindo. Seria possível definindo algumas novas funções, mas provavelmente é mais fácil fazê-lo em qualquer linguagem de programação através da qual você esteja acessando o banco de dados.

No entanto, para algo tão simples como um endereço de e-mail, você não precisa usar expressões regulares, você pode usar o SUBSTRING_INDEX() função , como:
SELECT
    SUBSTRING_INDEX(email, '@', 1) AS Username,
    SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
    SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;

Em palavras, é:
  • Nome de usuário =tudo antes do primeiro '@'
  • Domínio =tudo entre o primeiro '@' e o primeiro '.'
  • TLD =tudo após o último '.'