Mysql
 sql >> база данни >  >> RDS >> Mysql

SQL низ за поръчка като число

Ако е възможно, трябва да промените типа данни на колоната на число, ако така или иначе съхранявате само числа.

Ако не можете да направите това, прехвърлете стойността на колоната си към integer изрично с

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

или имплицитно например с математическа операция, която налага преобразуване в число

select col from yourtable
order by col + 0

BTW MySQL преобразува низове отляво надясно. Примери:

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да добавя функция levenshtein в mysql?

  2. Как да получите последния ден от месеца в MySQL

  3. Как да тествате дали MySQL заявка е била успешна при промяна на данните от таблицата на базата данни?

  4. Как да попълним дупките в полетата за автоматично увеличение?

  5. MySQL - length() срещу char_length()