Diviser une valeur de colonne unique en plusieurs colonnes
La tâche consiste à diviser les valeurs d'une seule colonne "nom" en plusieurs colonnes, y compris le prénom et le nom. Vous souhaitez omettre le deuxième prénom et afficher les données résultantes dans les colonnes "prénom" et "nom".
Solution personnalisée
L'approche suggérée peut ne pas convenir à la gestion de différents formats de noms. Cependant, une requête SQL personnalisée peut y parvenir :
<code class="language-sql">SELECT CASE WHEN name LIKE '% %' THEN LEFT(name, Charindex(' ', name) - 1) ELSE name END AS first_name, CASE WHEN name LIKE '% %' THEN RIGHT(name, LEN(name) - Charindex(' ', REVERSE(name))) ELSE NULL END AS last_name FROM YourTable;</code>
Cette requête utilise la fonction Charindex pour trouver la position du premier caractère espace dans la colonne Nom. Si des espaces sont trouvés, le nom est divisé en parties prénom et nom. Si aucun espace n'est trouvé, le nom entier est affecté à la colonne prénom et une valeur NULL est affectée à la colonne nom. Le deuxième paramètre de la fonction RIGHT
a été corrigé pour utiliser LEN(name)
pour calculer la longueur de la chaîne, garantissant que le nom de famille est correctement extrait.
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!