Mysql
 sql >> база данни >  >> RDS >> Mysql

анализирайте резултатите в MySQL чрез REGEX

MySQL няма вградена функционалност, за да направи това, което искате. Би било възможно чрез дефиниране на някои нови функции, но вероятно е по-лесно да го направите на всеки език за програмиране, чрез който осъществявате достъп до базата данни.

За нещо толкова просто като имейл адрес обаче изобщо не трябва да използвате регулярни изрази, можете да използвате SUBSTRING_INDEX() функция , като:

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

С думи това е:

  • Потребителско име =всичко преди първото '@'
  • Домейн =всичко между първия '@' и първия '.'
  • TLD =всичко след последното „.“


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL автоматичен низ към цяло число в клауза where?

  2. MySQL C++ конектор:недефинирана препратка към `get_driver_instance'

  3. Актуализиране на MySQL данни на живо

  4. Мога ли да наложа условно ограничение за уникалност?

  5. Каква е SQL командата за връщане на имената на полетата на таблица?