Maison >base de données >tutoriel mysql >Comment puis-je commander correctement les numéros de chaîne dans MySQL ?
La bonne façon de trier les numéros de chaîne dans MySQL
Dans la base de données MySQL, si les chaînes sont traitées par erreur comme des caractères à trier, les résultats du tri peuvent être incorrects. Afin de résoudre ce problème, la chaîne doit être explicitement ou implicitement convertie en un type entier pour le tri numérique.
Conversion explicite
Les valeurs des colonnes peuvent être converties explicitement en entiers à l'aide de la fonction CAST()
:
<code class="language-sql">SELECT col FROM yourtable ORDER BY CAST(col AS UNSIGNED);</code>
Conversion implicite
Des conversions implicites peuvent être effectuées à l'aide d'opérations mathématiques qui contraignent les valeurs à des types numériques :
<code class="language-sql">SELECT col FROM yourtable ORDER BY col + 0;</code>
Remarques sur la conversion implicite
La conversion de chaîne en nombre dans MySQL prend en compte les caractères de gauche à droite :
字符串值 | 整数值 |
---|---|
'1' | 1 |
'ABC' | 0 |
'123miles' | 123 |
'3' | 0 |
Avec le cast, la représentation numérique de la chaîne sera utilisée pour le tri, ce qui donnera le résultat ascendant souhaité.
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!