Extraire des nombres à partir de champs hybrides texte-numérique dans MySQL
Le défi se pose lorsqu'il s'agit de colonnes contenant un mélange de texte et de valeurs numériques . Dans de tels cas, les méthodes de tri conventionnelles basées sur l'ordre des caractères peuvent entraîner un séquençage numérique incorrect.
Pour résoudre ce problème et trier en fonction des nombres intégrés, vous pouvez exploiter la requête MySQL suivante :
SELECT field,CONVERT(SUBSTRING_INDEX(field,'-',-1),UNSIGNED INTEGER) AS num FROM table ORDER BY num;
Cette requête effectue les étapes suivantes :
En utilisant cette méthode, vous pouvez trier efficacement les lignes en fonction des nombres intégrés, quel que soit le texte précédent dans le champ. Notez que cela suppose que le numéro est toujours présent à la fin du champ, séparé par un trait d'union (-).
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!