Maison >base de données >tutoriel mysql >Comment puis-je commander correctement les numéros de chaîne dans MySQL ?

Comment puis-je commander correctement les numéros de chaîne dans MySQL ?

Patricia Arquette
Patricia Arquetteoriginal
2025-01-12 18:47:43405parcourir

How Can I Correctly Order String Numbers in 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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn