默认情况下,SQL在字符前排序数字.
所以,如果我有"名称"列:
abc
ab1
a1b
1ba
1bac
b21
Run Code Online (Sandbox Code Playgroud)
由于SQL按0-Z(前0到9,然后是aZ)排序,因此查询
SELECT * FROM ... ORDER BY name
Run Code Online (Sandbox Code Playgroud)
将导致:
1ba
1bac
a1b
ab1
abc
abc1
b21
Run Code Online (Sandbox Code Playgroud)
但我希望它按a-0排序(先是aZ,然后是0-9).
abc
abc1
ab1
a1b
b21
1ba
1bac
Run Code Online (Sandbox Code Playgroud)
我如何在查询中执行此操作?更具体地说,我如何在SQLite中执行此操作?
我在按字母顺序排序MySQL结果中找到了一个解决方案,但数字最后,但仅限于第一个字符.