gpt4 book ai didi

SQLITE:如何对包含值 1-99 和字母 a-z 的字符串列进行排序,首先是数字,然后是字母

转载 作者:搜寻专家 更新时间:2023-10-30 20:37:49 26 4
gpt4 key购买 nike

我想要一个字符串列的排序顺序,如下所示(数字在前,字母在后):

1
2
...
10
11
...
A
B
C
...

这是我当前的查询

SELECT * FROM PAGES_VIEW ORDER BY chapterTitle

不幸的是,这会导致以下顺序(10 在 2 之前)

1
10
2
20
...
A
B
...

如何获得我想要的订单?

编辑:删除我的 CAST 作为整数以避免混淆。

最佳答案

您应该使用 case 语句来获得所需的 ordering。

Fiddle with sample data

select * from pages_view 
order by (case when cast(chaptertitle as integer) = chaptertitle then 1
else 0 end) desc, cast(chaptertitle as integer), chaptertitle

关于SQLITE:如何对包含值 1-99 和字母 a-z 的字符串列进行排序,首先是数字,然后是字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32545092/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com