小编Nic*_*Nic的帖子

在SQL中使用[a-9]而不是[0-Z]对ORDER进行ORDER

默认情况下,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结果中找到了一个解决方案,但数字最后,但仅限于第一个字符.

sql sqlite sql-order-by

8
推荐指数
1
解决办法
1870
查看次数

标签 统计

sql ×1

sql-order-by ×1

sqlite ×1