gpt4 book ai didi

sql - 如何对十进制数中的点后的列进行排序 - Ms access

转载 作者:搜寻专家 更新时间:2023-10-30 23:28:56 25 4
gpt4 key购买 nike

我想对列进行排序,例如...例子 :1.1,1.2,1.3,...,1.9,1.10,1.11,1.12,..,2.1,2.2,2.3,..,2.9,2.10,2.11,..,3.1,3.2,...等等..

我试过了,

    SELECT SectionName.UnderISMDocNumber
FROM SectionName
ORDER BY SectionName.UnderISMDocNumber;

But I get this kind of result

谁能指导我?如何在 Ms Access 中过滤此列?

最佳答案

您可以按将第二部分转换为整数的奇特表达式排序,然后按此排序:

SELECT 
UnderISMDocNumber
FROM
SectionName
ORDER BY
Int(Val([UnderISMDocNumber])), Val(Mid(Str(CCur(Val([UnderISMDocNumber]))-Int(Val([UnderISMDocNumber]))),3));

但是你遇到了严重的麻烦,因为当你使用像 3.03 这样带有前导零的条目时,你混合了字符串排序和数字排序,如你所见:

UnderISMDocNumber
1.1
1.2
1.3
1.4
1.5
1.6
1.7
1.8
1.9
1.11
1.12
1.13
2
2.1
2.2
3.01
3.10
3.02
3.03
3.04
3.5
3.11
3.12
3.13

因此,要么在 Val([UnderISMDocNumber]) 上使用零和纯数字排序,要么在第二部分中不使用前导零。你不能两者兼得。

关于sql - 如何对十进制数中的点后的列进行排序 - Ms access,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52089531/

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