sql - 如何在十进制数字中的点后对列进行排序 - 女士访问
问题描述
我想对列进行排序...例如: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])
,要么不要在第二部分使用前导零。你不能两者兼得。
推荐阅读
- php - Laravel 产品按价格过滤
- google-analytics - 如何在单页应用程序上触发 Google Analytics 中的页面查看事件?
- javascript - WordPress AJAX“POST”响应仅适用于functions.php
- cocoapods - 如何在 Macbook M1 Silicon 上正确安装 CocoaPods
- imagej - 不同颜色的分段线 imagej
- powershell - 如果不为空,则跳转到 PS 中的某处
- django - 即使在 URL 中提供详细视图所需的 ID 时,也不允许 Django ModelViewSet 方法 \"DELETE\"
- javascript - 使用 Deno 将 TypeScript 编译为 JavaScript
- javascript - 我可以在哪里存储 XML 文件供浏览器使用 ASP.Net MCV 读取
- python - 如何选择 statsmodels STL 函数的正确参数?