admin

按拆分列排序

sql

我有一列称为ID:

4.1.2.10.0
4.1.2.3.0
4.1.2.4.0
6.1.20.0.0
6.1.3.0.0
...
etc...

我想做的是包含一个ORDER BY语句,该语句将字符串拆分成如下形式:

4.1.2.3.0
4.1.2.4.0
4.1.2.10.0
6.1.3.0.0
6.1.20.0.0
...
etc....

我将如何做这样的事情?


阅读 156

收藏
2021-06-07

共1个答案

admin

替换field1为实际的字段名称:

select      *
from        tbl
order by    CInt(mid(field1,1,instr(1,field1,'.')-1)),
            CInt(mid(field1,instr(1,field1,'.')+1,instr(2,field1,'.')-1)),
            CInt(mid(field1,instr(3,field1,'.')+1,instr(4,field1,'.')-1)),
            CInt(mid(field1,instr(5,field1,'.')+1,instr(6,field1,'.')-1))

正如戈登在评论中指出的那样,这很容易出错。可能要等待更好的答案。

2021-06-07