我有一些SQL / Hive挑战。
在数据库中,我们收到XML的输出,如下所示。其中包括XML记录的名称和值。
我要查询的值将如下所示:
[FunctionName("FunctionTest")]
public static async Task<IActionResult> Run(
[HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req,
[ServiceBus(queueOrTopicName:"queueName",Connection ="ServiceBusConnection")]IAsyncCollector<Message> outputMessages,
ILogger log)
{
string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
var message = new Message
{
Body = System.Text.Encoding.UTF8.GetBytes(requestBody),
MessageId = "MyMessageId"
};
await outputMessages.AddAsync(message);
}
这是从XML树派生出来的,看起来像这样:
rollover\5000,another\10000, rollover\1000, BillingTimeStamp\2017-06-15T01:00:05,timereset\2017-05-26T14:32:51
...
因此,我需要查询并说: 如果此字符串包含单词翻转,则求和。问题在于,术语“翻滚”可能会出现多次,并带有多个值。
“行”由分隔,列由\
分隔所以如果我用逗号分割,输出将是:
<property>
<name>rollover</name>
<value>5000</name>
</property>
<property>
<name>another</name>
<value>5000</name>
</property>
<property>
<name>rollover</name>
<value>7000</name>
</property>
有人可以建议我什至可以从哪里开始吗?我已经尝试了一些字符串函数并在\和逗号之间取值,但是我不知道如何遍历字符串以查找所有出现的内容。
任何帮助都会很棒!
rollover\5000
another\5000
rollover\7000
...