我想对列进行排序,例如... 例子 : 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;
谁能指导我?如何在 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/