sql >> Databasteknik >  >> RDS >> Mysql

Hur man väljer domännamn från e-postadress

Om du antar att domänen är en domän med ett enda ord som gmail.com, yahoo.com, använd

select (SUBSTRING_INDEX(SUBSTR(email, INSTR(email, '@') + 1),'.',1))

Den inre SUBSTR får rätt del av e-postadressen efter @ och den yttre SUBSTRING_INDEX kommer att avbryta resultatet vid den första perioden.

annars om domänen förväntas innehålla flera ord som mail.yahoo.com , etc, använd:

select (SUBSTR(email, INSTR(email, '@') + 1, LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1)))) 

LENGTH(email) - (INSTR(email, '@') + 1) - LENGTH(SUBSTRING_INDEX(email,'.',-1)) kommer att få längden på domänen minus TLD (.com, .biz etc. part) genom att använda SUBSTRING_INDEX med ett negativt antal som kommer att beräknas från höger till vänster.



  1. Partial Index används inte i ON CONFLICT-satsen när du utför en upsert i Postgresql

  2. Hur man returnerar en lista över datatyper i SQL Server (T-SQL)

  3. Hur returnerar man en resultatuppsättning/markör från ett anonymt Oracle PL/SQL-block som kör Dynamic SQL?

  4. Infoga PHP flytande/decimalvärden i MySQL