Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách chọn tên miền từ địa chỉ email

Giả sử rằng miền là một miền từ đơn như gmail.com, yahoo.com, hãy sử dụng

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

SUBSTR bên trong lấy đúng phần của địa chỉ email sau @SUBSTRING_INDEX bên ngoài sẽ cắt bỏ kết quả ở khoảng thời gian đầu tiên.

ngược lại nếu miền được mong đợi chứa nhiều từ như mail.yahoo.com , v.v., sử dụng:

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)) sẽ nhận được độ dài của miền trừ đi phần TLD (.com, .biz etc. part) bằng cách sử dụng SUBSTRING_INDEX với số âm sẽ tính từ phải sang trái.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tệp khóa không chính xác cho bảng '/tmp/#sql_3c51_0.MYI' cố gắng sửa chữa nó

  2. Làm cách nào tôi có thể chọn * từ một bảng trong MySQL nhưng bỏ qua các cột nhất định?

  3. SQL:So sánh hai số đếm từ các Bảng khác nhau

  4. Cập nhật / Tăng một cột trên nhiều hàng cùng một lúc

  5. Mệnh đề VỚI MySQL