InfluxDB如何转义方括号“ [”

时间:2019-03-26 00:16:26

标签: influxdb influxql

我正在查询潮D.B.如下图所示,

select * from measurement where '/cda/stats/@name' =~ /cda\/stats.*/ limit 5;

上面的查询工作正常,但是当我尝试在查询字符串中指定方括号时,例如, "/cda/stats/[name='set']

select * from mgmgrand where '/cda/stats/@name' =~ /cda\/stats[name='set'].*/ limit 5;

不确定在上述查询中如何转义方括号。

反斜杠“ \”不适用于方括号。

1 个答案:

答案 0 :(得分:1)

我在influx DB中进行了测试,发现了一个奇怪的解决方案(我不知道为什么会这样)。 如果您的标识符未加引号,则将单引号更改为双引号,将'/cda/stats/@name'替换为"/cda/stats/@name"似乎可以解决问题。

select * from mgmgrand where "/cda/stats/@name" =~ /\[/
//matches the value /cda/stats/[name='set']

在不更改引号的情况下,不带[的值也可以正常工作,但是在尝试匹配[字符时则不起作用。

select * from mgmgrand where '/cda/stats/@name' =~ /cda/
//matches the value /cda/stats/[name='set'] 
select * from val1 where '/cda/stats/@name' =~ /\[/
//does not give an output

如果您使用带引号的标识符将'/cda/stats/@name'替换为"'/cda/stats/@name'""\"/cda/stats/@name\"",则会对其进行修复。