Mysql
 sql >> Base de données >  >> RDS >> Mysql

Chaîne de commande SQL sous forme de nombre

Si possible, vous devez changer le type de données de la colonne en un nombre si vous ne stockez que des nombres de toute façon.

Si vous ne pouvez pas le faire, convertissez la valeur de votre colonne en un integer explicitement avec

select col from yourtable
order by cast(col as unsigned)

ou implicitement par exemple avec une opération mathématique qui force une conversion en nombre

select col from yourtable
order by col + 0

BTW MySQL convertit les chaînes de gauche à droite. Exemples :

string value  |  integer value after conversion
--------------+--------------------------------
'1'           |  1
'ABC'         |  0   /* the string does not contain a number, so the result is 0 */
'123miles'    |  123 
'$123'        |  0   /* the left side of the string does not start with a number */