Maison > base de données > tutoriel mysql > Comment extraire les prénoms, prénoms et noms d'une chaîne dans MySQL ?

Comment extraire les prénoms, prénoms et noms d'une chaîne dans MySQL ?

Susan Sarandon
Libérer: 2025-01-19 15:42:08
original
934 Les gens l'ont consulté

How to Extract First, Middle, and Last Names from a String in MySQL?

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal