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

Как да разделя низа на името в mysql?

Разделих този отговор на два (2) метода. Първият метод ще раздели полето ви за пълно име на собствено, средно и фамилно име. Средното име ще се покаже като NULL, ако няма средно име.

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

Този втори метод разглежда второто име като част от фамилното име. Ще изберем само колона за име и фамилия от полето ви за пълно име.

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

Има куп страхотни неща, които можете да правите с substr, locate, substring_index и т.н. Проверете ръководството за истинско объркване. http://dev.mysql.com/doc/refman /5.0/bg/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. Как да създадете връзка в MySQL Workbench

  2. Синтаксис на SQL TRUNCATE – изброен от СУБД

  3. Използване на OpenVPN за защитен достъп до вашия клъстер от база данни в облака

  4. Използване на strtotime за дати преди 1970 г

  5. Конфигурация с висока достъпност за възли на ClusterControl, използваща CMON HA