Maison >base de données >tutoriel mysql >Comment trier numériquement les lignes MySQL en fonction d'identifiants textuels avec des numéros intégrés ?
Extraire des valeurs numériques à partir d'identifiants textuels dans MySQL
Le tri de colonnes textuelles contenant des valeurs numériques et non numériques mixtes peut être difficile. Un scénario courant implique des colonnes d'identifiant utilisant le format « nom-numéro ». Pour prioriser l'ordre numérique, extraire la composante numérique devient essentiel.
Pour y parvenir dans une requête MySQL, vous pouvez utiliser l'approche suivante :
SELECT field, CONVERT(SUBSTRING_INDEX(field, '-', -1), UNSIGNED INTEGER) AS num FROM table ORDER BY num;
Cette requête effectue les étapes suivantes :
Cette approche est fiable même si la partie nom de l'identifiant ne contient aucun chiffre. Il sépare efficacement la composante numérique et permet le tri souhaité. En extrayant et en convertissant la partie numérique, vous pouvez trier avec précision les lignes en fonction de leurs valeurs numériques, quel que soit l'ordre des caractères des identifiants globaux.
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!