InfluxDB如何转义方括号“[”
InfluxDB how to escape square brackets "["
我正在查询 influx 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;
不确定如何在上述查询中转义方括号。
反斜杠“\”不适用于方括号。
我在 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\""
修复它。
我正在查询 influx 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;
不确定如何在上述查询中转义方括号。
反斜杠“\”不适用于方括号。
我在 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\""
修复它。