mysql - 在 MySQL 中对 varchar 字段进行数字排序

标签 mysql sorting

我有一个varchar类型的字段number。尽管它是 varchar 类型,但它存储带有可选前导零的整数值。排序按字典顺序对它们进行排序("42" 位于 "9" 之前)。如何按数值排序("9" 位于 "42" 之前)?

目前我使用查询:

SELECT * FROM table ORDER BY number ASC

最佳答案

试试这个

SELECT * FROM table_name ORDER BY CAST(field_name as SIGNED INTEGER) ASC

关于mysql - 在 MySQL 中对 varchar 字段进行数字排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53965772/

相关文章:

php - Foreach 循环使用 php 获取记录中数组中的最后一项?

mysql - 多个表上的查询太大且速度慢,如何优化?

java - 对日期 ListArray 以及标题的第二个数组进行排序

arrays - 使用 VBA 过滤器函数时的性能注意事项

sorting - Redis 有序集成员大小和性能

MySQL:生产者/消费者模型,访问多个表的命令需要原子性

mysql - 插入带有内部联接的查询

MYSQL 查询 - 当 col1 只有 'Special' 时使用,否则使用另一个

python - 如何使用冒泡排序在 Python 3 中对列表进行排序和子排序

c - C 中的字符串排序