sql >> Database teknologi >  >> RDS >> Mysql

Hvordan opdeles navnestrengen i mysql?

Jeg har opdelt dette svar i to (2) metoder. Den første metode vil adskille dit fulde navn-felt i for-, mellem- og efternavne. Mellemnavnet vises som NULL, hvis der ikke er noget mellemnavn.

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

Denne anden metode betragter mellemnavnet som en del af efternavnet. Vi vil kun vælge en kolonne for fornavn og efternavn fra dit fulde navn-felt.

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

Der er en masse fede ting, du kan gøre med substr, locate, substring_index, osv. Tjek manualen for en vis forvirring. http://dev.mysql.com/doc/refman /5.0/da/string-functions.html



  1. Fuld gendannelse af en MySQL eller MariaDB Galera Cluster fra backup

  2. Hvordan køres .sql-fil i Oracle SQL-udviklerværktøj for at importere database?

  3. Sådan beregnes løbende total i rødforskydning

  4. Kan et tal bruges til at navngive en MySQL-tabelkolonne?