重复序列中的Oracle SQL正则表达式总和

时间:2016-05-09 07:34:32

标签: sql regex oracle

第一次来这里,希望有人可以提供帮助

下面存储在Oracle CLOB字段中的XML的Oracle SQL select stmt是什么,因此返回以下内容(每天将有多达96个intvColl块)。

基本上,第二个和第三个逗号之间的intvColl块中的数值需要求和,并按第一个逗号之前的日期和第三个逗号之后的varchar进行分组。

我猜猜regexp_substr /但是不能完全实现。 第一个记录是第1和第2个intvColl块的总和 第二个记录是第3个intvColl块的总和 第三个记录是第4和第5的总和

MeterChannelID           Date         Sum     Quality   Count_of_records
6103044759-40011200-Q1   14/03/2016   1,387   A         2   
6103044759-40011200-Q1   14/03/2016     694   S         1 
6103044759-40011200-Q1   15/03/2016   1,433   A         2  

<uploadRegData>
    <intervalDataBlock>
        <setDateTime>16/03/2016-19:30:01</setDateTime>
        <intervalMinute>15</intervalMinute>
        <meterChannelID>6103044759-40011200-Q1</meterChannelID>
        <intvColl><intvData>14/03/2016,1,700,A</intvData></intvColl>
        <intvColl><intvData>14/03/2016,2,687,A</intvData></intvColl>
        <intvColl><intvData>14/03/2016,3,694,S</intvData></intvColl>
        <intvColl><intvData>15/03/2016,4,724,A</intvData></intvColl>
        <intvColl><intvData>15/03/2016,5,709,A</intvData></intvColl>
    </intervalDataBlock>
</uploadRegData>

1 个答案:

答案 0 :(得分:0)

string s_Item = "Error 500";

var lines = File.ReadLines("C:/Users/lenovo/Desktop/Probablisitic Automata/data/April/april_steady_state.csv");

foreach (string line in lines)
{
    if (line.Contains(s_Item))
    {
        Console.WriteLine(line);
    }

}