sql >> Database teknologi >  >> RDS >> Mysql

SQL-rækkefølge som nummer

Hvis det er muligt, bør du ændre kolonnens datatype til et tal, hvis du alligevel kun gemmer tal.

Hvis du ikke kan gøre det, så cast din kolonneværdi til et integer eksplicit med

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

eller implicit for eksempel med en matematisk operation, der tvinger en konvertering til tal

select col from yourtable
order by col + 0

BTW MySQL konverterer strenge fra venstre mod højre. Eksempler:

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 */


  1. Oracle-låse og bordlåse:Sådan fungerer det

  2. tilpasse pager i psql

  3. Hvordan kører man SQL-script i MySQL?

  4. 5 sikkerhedsfordele ved cloud-baserede databaseovervågningsløsninger