Tri des colonnes de chaînes avec des nombres intégrés dans SQL
En SQL, il est possible de trier les colonnes de chaînes contenant des nombres à l'aide de techniques spécifiques. Cela peut être utile lorsque l'algorithme de tri naturel des bases de données comme MySQL ne produit pas les résultats souhaités.
Pour réaliser un tri personnalisé des colonnes de chaînes avec des nombres, plusieurs approches peuvent être utilisées :
Utilisation de CAST et SUBSTRING :
SELECT *
FROM table
ORDER BY CAST(SUBSTRING(column,LOCATE(' ',column) 1) AS SIGNED)
Cette technique décompose la colonne en deux parties : le préfixe avant l'espace et le numéro après. Le nombre est ensuite converti en un type numérique (dans ce cas, SIGNÉ) à des fins de comparaison.
Utilisation de SUBSTRING_INDEX :
ORDER BY SUBSTRING_INDEX(st, " ", 1) ASC, CAST(SUBSTRING_INDEX(st, " ", -1) AS SIGNED)
Cette approche utilise la fonction SUBSTRING_INDEX pour extraire les composants préfixe et numérique. Il trie ensuite d'abord par préfixe, puis par nombre converti.
Remarque : Si le modèle de colonne diffère de "WORD_space_NUMBER", une approche différente peut être nécessaire.
Exemples :
Exemples de données | Tri naturel | Tri personnalisé |
---|---|---|
un 1, un 12, un 6, un 11 | un 1, un 12, un 2, un 3 | un 1, un 2, a 3, a 12 |
b 1, b 12, b 6, b 11 | b 1, b 12, b 2, b 3 | b 1, b 2, b 3, b 12 |
En employant ces techniques, il est possible de trier les colonnes de chaînes avec des nombres incorporés de manière personnalisée, garantissant que le les résultats s'alignent sur les exigences spécifiques de l'application.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3