- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 ASP.NET 应用程序可以将 Oracle 表中的数据提取到 GridView 中。我完全无法控制 Oracle 数据,它就是它的本来面目(行号表示套件的各个部分一起装入运输包裹,我不知道使用双位小数是谁的想法)。
数据看起来是这样的,双位小数点是问题所在(这是几千行数据的小例子):
LINE_NUMBER
1.1
10.1
11.1
2.1
2.1..1
2.1..2
3.1
4.1
5.1
6.1
7.1
8.1
8.1..1
8.1..2
9.1
我需要这样订购:
LINE_NUMBER
1.1
2.1
2.1..1
2.1..2
3.1
4.1
5.1
6.1
7.1
8.1
8.1..1
8.1..2
9.1
10.1
11.1
我已经尝试用 LPAD(LINE_NUMBER, 9, '0') 填充条目,但由于句号加倍,我仍然得到一个不稳定的排序。 See this SO question .
我试过 REGEXP_REPLACE(LINE_NUMBER, '..', '') 来完全删除双句号,但这也不起作用。我认为这可能是 Oracle 的答案所在,但我是一个完全的 Oracle 菜鸟,尽管我相当精通 MySQL/MariaDB 和 MS SQL。
我也尝试过 REGEXP_SUBSTR as shown in this site ,但我无法使他的示例对我有用。
我还尝试了 this SO question 中显示的技术,但虽然它处理多个小数点,但它不处理彼此相邻的倍数。
我想如果我可以简单地删除双句号(或者可能只是删除第一个句号之后的所有尾随句号?),我可以获得正确的排序。我可以简单地选择同一列数据的另一个副本,删除双句点和 ORDER BY 该列而不是 GridView 中的 LINE_NUMBER。双小数点并不重要,如果它们被删除,字符串就变成了一个 float ,我可以按数字排序(我认为)。
除非有一种相对简单的基于 Oracle 的方法来执行此操作,否则我可能会在后面的代码中操作数据表以拆分双句点上的字符串并弄清楚如何在那里应用排序。
正如我之前所说,我无法控制 Oracle 数据,我只能查询,不能写入数据库。
为了回答问题,这里列出了可能的字符串。请注意,这并不详尽,只是一些可能的示例。也有可能(但极不可能),任何数字都可以达到三位数:
9.1
41.1
1.1..1
1.1..15
10.1..1
15.1..3
2.1..1
2.1..10
2.1..2
21.1..1
23.1..10
23.1..2
3.1..1
30.1..1
31.1..1
4.1..1
9.1..10
9.1..2
可能但不太可能的例子:
123.345..678
第一个数字是包裹的“发货套装”,第二个数字是发货套装中的套件,两位小数后的第三个数字(如果存在)是 Material list 中的行项目。根据我的用户的说法,任何超过两位数的可能性很小,但并非不可能。
最佳答案
尝试:
SELECT LINE_NUMBER,
LINE_NUM
FROM (
SELECT LINE_NUMBER,
replace( Line_number, '..', '.' ) As Line_num
FROM table1
)
ORDER BY
to_number(regexp_substr( Line_num, '\d+', 1, 1)) NULLS FIRST,
to_number(regexp_substr( Line_num, '\d+', 1, 2)) NULLS FIRST,
to_number(regexp_substr( Line_num, '\d+', 1, 3)) NULLS FIRST,
to_number(regexp_substr( Line_num, '\d+', 1, 4)) NULLS FIRST
;
演示:http://sqlfiddle.com/#!4/1786b/11
| LINE_NUMBER | LINE_NUM |
|-------------|----------|
| 1 | 1 |
| 1.1 | 1.1 |
| 2.1 | 2.1 |
| 2.1..1 | 2.1.1 |
| 2.1..2 | 2.1.2 |
| 3.1 | 3.1 |
| 4.1 | 4.1 |
| 5.1 | 5.1 |
| 6.1 | 6.1 |
| 7.1 | 7.1 |
| 8.1 | 8.1 |
| 8.1..1 | 8.1.1 |
| 8.1..2 | 8.1.2 |
| 9.1 | 9.1 |
| 10.1 | 10.1 |
| 11.1 | 11.1 |
关于c# - 将 'numerical' 排序应用于具有多个小数点/句点的奇数数据结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45443062/
我有以下字符串: 00:02:44.372 我想使用正则表达式来提取句号/句点。 我尝试过使用: [0-9][0-9]:[0-9][0-9]:[0-9][0-9] 选择持续时间,但我从这里去哪里?由于
我想知道如果我有这样的文件名,我如何去掉文件名中的句点: Test....1.txt 看起来像 Test 1.txt?我不希望像 1.0.1 Test.txt 这样的文件被触及。只有具有连续句点的文件
试图找到一个好的正则表达式来检测java中的句子结尾。主要问题是,如果有数字然后句点,它会将其检测为句子结尾(请参阅演示链接)。但就我而言,我希望它不将其识别为句子结尾,尽管在某些情况下可能是这样。我
我开始学习 Backbone,但 UnderscoreJS 似乎给我带来了一些问题。我收到“意外 token ”。我不确定这意味着什么。我的 JSON 看起来不错,所以我不认为这是一个原因。 var
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 9 年前。 Improve this qu
在日期时间选择器控件中,用户必须按.(句点)才能移动到不同的字段(如日、月、年) 我想通过允许用户输入日期而不输入.(句点)来覆盖此行为 有没有什么可以在 C# winforms 中以编程方式实现这一
对于那些不知道 GMAIL 的人,您可以根据原始电子邮件创建无限数量的电子邮件。如果您的电子邮件是“mygmail@gmail.com”,那么这可以通过两种方式实现: 1) 在您的 gmail 末尾的
你们中的一位 CSS 专家可以向我解释一下这个指示符(如果您愿意这样调用它的话)吗?我了解内容,只是不了解 a.button.gold。两个点? a.button.gold{ background-c
很抱歉描述模糊,找不到更好的方式来说明它。 我从 F# 开始,和许多其他人一样,我将解决的欧拉问题转换为 F#。我喜欢使用测试来运行我的代码,也喜欢 FsUnit 风格。在给定示例的帮助下,我这样做了
这是一个奇怪的。通常,当我从powershell执行外部命令时,我使用&运算符,如下所示: & somecommand.exe -p somearguments 但是,今天我遇到了像这样使用的.运算符
我想允许 . 和 a-zA-Z 字母以及 _ 和 -,我的 .. 有一些问题 有什么想法吗? 最佳答案 [A-Za-z_.-] 是一个字符类,包含您提到的所有字符。在字符类中,没有必要对 . 进行转义
所以我知道我需要使用前瞻和后视的东西,但我开始失去理智。 因此,您能否提供一个示例,并解释其含义。 我需要匹配以下序列中的点,但不匹配各个字符之间的点。 this.is.a.sentence.e.g.
在 Python 中,我需要从列表中删除几乎所有标点符号,但保留句点和逗号。我应该创建一个函数来执行此操作还是创建一个变量?基本上我想删除除字母(我已经将大写字母转换为小写)以及句点和逗号(可能还有撇
我只是想选择这些特定“边”的 ID。我已经做了一百万次了,但 jQuery 只是不想与我合作。 $( 'input[name="fd-border"]' ).change(function() {
我正在尝试制作一个正则表达式,它允许使用大小字母 + 数字创建字符串 - a-zA-z0-9 以及字符:。 -_ 如何制作这样的正则表达式? 最佳答案 以下正则表达式应该是您要查找的内容(下面的解释)
我想检查以 number 开头的字符串, period(.)和 space .为此,我使用了 regex但这并没有给出正确的答案。 输入: 1. this a paragaraph1
我在创建正则表达式验证器时遇到问题,该验证器会检查以确保输入仅包含大写或小写字母字符、空格、句点、下划线和破折号。无法通过搜索在线找到此示例。例如: 这些没问题: Dr. Marshall sam s
以下网址有效吗? http://www.example.com/module.php/lib/lib.php 根据https://www.rfc-editor.org/rfc/rfc1738部分 UR
我正在尝试发送一个采用 JSON 对象的 HttpRequest: { "some.setting.withperiods":"myvalue" } 我一直在为我的其他请求创建匿名对象,但我不能
由于大量的搜索,我已经走到了这一步,但我坚持只格式化链接而不格式化文本的方法。我希望链接在文本中包含数字,但没有空格、括号、句号或减号,并保留文本不变。该链接应以 555 123-1234 为例。
我是一名优秀的程序员,十分优秀!