在MySQL中以字符串形式对值进行数字排序

在MySQL中以字符串形式对值进行数字排序,mysql,sql,Mysql,Sql,我想知道当数字是字符串时,是否有一种方法可以进行数字排序。请看一个例子: 查询: 从t\u表中选择*按id排序\u字符串asc 这是DB中的列表: 13 4 6 8 10 1 3 2 5 12 7 9 11 我需要以这种方式提取它: 1 2 3 4 5 6 7 8 9 10 11 12 13 但结果我得到了: 1 10 11 12 13 2 3 4 5 6 7 8 9 如果知道列中始终包含数值,则可以使用运算符。也看看这个 如果知道列中始终包含数值,则可以使用运算符。也看看这个 希望有帮助

我想知道当数字是字符串时,是否有一种方法可以进行数字排序。请看一个例子:

查询:

从t\u表中选择*按id排序\u字符串asc

这是DB中的列表:

13
4
6
8
10
1
3
2
5
12
7
9
11
我需要以这种方式提取它:

1
2
3
4
5
6
7
8
9
10
11
12
13
但结果我得到了:

1
10
11
12
13
2
3
4
5
6
7
8
9

如果知道列中始终包含数值,则可以使用运算符。也看看这个


如果知道列中始终包含数值,则可以使用运算符。也看看这个

希望有帮助:

SELECT * FROM t_tables t order by cast(id_string as unsigned)
希望有帮助:

SELECT * FROM t_tables t order by cast(id_string as unsigned)
SELECT * FROM t_tables t order by cast(id_string as signed integer) asc;