首页 > 解决方案 > Sql 按字符串和 int 排序

问题描述

我有列天的表,这个天的值是这样的:

day 1
day 2
day 3
day 4
...
day n

在我的数据库中,这些行没有排序,所以我想检索它按字符串后的 int 排序:例如我有

day 2
day 4
day 1
day 3

=> 得到

day 1
day 2
day 3
day 4

更改列类型和值是最好的选择,但如果有检索它的选项,我想使用这个结构。

标签: sqlsql-order-by

解决方案


应该管用:

select * from orderby  order by day asc

编辑:

抱歉,我没有注意到它的字符串 + int:

修复了我的代码:

select * from orderby order by convert(int, replace(sdate, 'day ', '')) asc

推荐阅读