Extraire le prénom, le deuxième prénom et le nom du champ de chaîne dans MySQL
Diviser une chaîne de nom en prénom, deuxième prénom et nom de famille est une tâche courante dans le traitement des données. MySQL propose diverses fonctions à cet effet.
Méthode 1 : Séparez le prénom, le deuxième prénom et le nom de famille
Cette méthode utilise les fonctions SUBSTRING_INDEX et LENGTH pour extraire chaque partie du nom :
<code class="language-sql">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;</code>
Description :
SUBSTRING_INDEX(fullname, ' ', 1)
Extrait la partie de la chaîne jusqu'au premier espace. SUBSTRING_INDEX(..., ' ', -1)
Récupère le dernier élément de cette chaîne, en fournissant le nom. IF
Vérifie si la chaîne contient plusieurs espaces (indiquant la présence d'un deuxième prénom). SUBSTRING_INDEX(..., ' ', 2)
Isolez ensuite la partie contenant le deuxième prénom et le nom de famille. SUBSTRING_INDEX(..., ' ', -1)
Extrait la dernière partie de la chaîne, fournissant le nom de famille. Méthode 2 : Séparer le prénom et le nom
Si le deuxième prénom est considéré comme faisant partie du nom de famille, vous pouvez utiliser cette méthode :
<code class="language-sql">SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(fullname, ' ', 1), ' ', -1) AS first_name, TRIM(SUBSTR(fullname, LOCATE(' ', fullname))) AS last_name FROM registeredusers;</code>
Description :
SUBSTRING_INDEX(fullname, ' ', 1)
Extrait la partie de la chaîne jusqu'au premier espace, en fournissant le nom. LOCATE(' ', fullname)
Retrouvez la position du premier espace. SUBSTR(fullname, ...)
, en commençant par LOCATE, récupère le reste de la chaîne, y compris le deuxième prénom et le nom de famille. TRIM
Supprimez tous les espaces de début ou de fin. Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!