Sea*_*mIT 6 mysql sql-order-by
在SELECT语句中,我有一个带有ORDER BY DESC的varchar列.此列中的数据示例:
1234
987
12-a
13-bh
MySQL将返回如下所示的选择:
987
12-a
1234
13-bh
它在四个字符长的结果之前放置三个字符长的结果,依此类推.我希望它忽略长度,只是对' - 'char之前的数字进行排序.有没有什么东西我可以在IF()中像SUBSTRING一样进行ORDER,它会删除以' - '字符开头的行中的所有数据,这样我可以将CAST作为整数?
Ric*_*iwi 13
最简单的事情就是这样
SELECT *
FROM TBL
ORDER BY VARCHAR_COLUMN * 1;
Run Code Online (Sandbox Code Playgroud)
要查看发生了什么,只需添加我用于订购的列
SELECT *, VARCHAR_COLUMN * 1
FROM TBL
ORDER BY VARCHAR_COLUMN * 1;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6916 次 |
| 最近记录: |