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

Làm thế nào để tách chuỗi tên trong mysql?

Tôi đã tách câu trả lời này thành hai (2) phương pháp. Phương pháp đầu tiên sẽ tách trường tên đầy đủ của bạn thành họ, tên đệm và họ. Tên đệm sẽ hiển thị là NULL nếu không có tên đệm.

SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
   If(  length(fullname) - length(replace(fullname, ' ', ''))>1,  
       SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 2), ' ', -1) ,NULL) 
           as middle_name,
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 3), ' ', -1) AS last_name
FROM registeredusers

Phương pháp thứ hai này coi tên đệm là một phần của họ. Chúng tôi sẽ chỉ chọn cột họ và tên từ trường họ và tên của bạn.

SELECT
   SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name,
    TRIM( SUBSTR(fullname, LOCATE(' ', fullname)) ) AS last_name
FROM registeredusers

Có rất nhiều điều thú vị mà bạn có thể làm với substr, định vị, substring_index, v.v. Kiểm tra hướng dẫn sử dụng để biết một số nhầm lẫn thực sự. http://dev.mysql.com/doc/refman /5.0/en/string-functions.html



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chén thánh làm sạch đầu vào và đầu ra trong php?

  2. Tạo ứng dụng web từ Scratch bằng Python Flask và MySQL:Phần 2

  3. Gọi đến một hàm thành viên thực thi () trên boolean trong

  4. NULL trong MySQL (Hiệu suất &Lưu trữ)

  5. Làm cách nào để xem tất cả các khóa ngoại cho một bảng hoặc cột?