MySQL tidak memiliki fungsionalitas bawaan untuk melakukan apa yang Anda minta. Hal ini dimungkinkan dengan mendefinisikan beberapa fungsi baru, tetapi mungkin lebih mudah untuk melakukannya dalam bahasa pemrograman apa pun yang Anda gunakan untuk mengakses database.
Untuk sesuatu yang sederhana seperti alamat email, Anda tidak perlu menggunakan ekspresi reguler sama sekali, Anda dapat menggunakan SUBSTRING_INDEX()
fungsi
, sebagai:
SELECT
SUBSTRING_INDEX(email, '@', 1) AS Username,
SUBSTRING_INDEX(SUBSTR(email, LOCATE('@', email)), '.', 1) AS Domain,
SUBSTRING_INDEX(email, '.', -1) AS TLD
FROM users;
Dengan kata lain, yaitu:
- Nama pengguna =semuanya sebelum '@'
- Domain =segala sesuatu antara '@' pertama dan ' pertama.'
- TLD =semuanya setelah '.' terakhir