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

相关文章:

mysql - 无法从函数返回

arrays - 如何使用 Vue.js 2 按日期对数组进行排序

php - 如何根据每个对象的属性对对象数组进行排序

php - 更新表时跟踪选择和取消选择选项

mysql - 存储过程不工作

mysql - NodeJS/MySQL/Promise 的问题

c# - Xamarin Forms - 相当于 CollectionViewSource

python - 使用最大条件比较和删除列表列表中的列表

java - 为什么 Sun 的 Arrays.sort 实现创建输入数组的克隆?

mysql - 在 GROUP BY 中选择记录