gpt4 book ai didi

oracle - 如何在Oracle中按字段与字符串和数字混合排序?

转载 作者:行者123 更新时间:2023-12-04 12:48:44 25 4
gpt4 key购买 nike

这些是要排序的字段 (crane_no) 值
QC11QC10QC9

我尝试了以下查询:

select * from table order by crane_no DESC

但查询结果不按顺序给出,因为该字段与起始值和数字混合(例如: QC12 )。
我得到上述查询的以下结果:
QC9QC11QC10
我希望结果是有序的(QC9、QC10、QC11)。谢谢

最佳答案

如果数据不是很大,我会使用正则表达式 order by 子句:

select 
cran_no
from your_table
order by
regexp_substr(cran_no, '^\D*') nulls first,
to_number(regexp_substr(cran_no, '\d+'))

这会查找字符串中的数字,因此像“QCC20”、“DCDS90”这样的行被正确排序;它还处理空值。

关于oracle - 如何在Oracle中按字段与字符串和数字混合排序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41950343/

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