在Grafana中使用InfluxQL查询时如何去除列值中的括号内容
InfluxQL 截取括号前内容方案
InfluxDB 1.7.6版本中,trim函数仅支持删除固定的首尾字符/字符集合,通配符仅可用于WHERE条件匹配,二者都无法实现模式化的字符串截取,直接使用regex_replace正则替换函数即可完成需求。
可用查询语句
SELECT regex_replace(Col1, /\(.*\)$/, '') AS Col1, time, -- 此处补充你需要查询的其余字段,不要使用SELECT * other_field1, other_field2 FROM mytable
参数说明
regex_replace第一个参数为待处理的目标字段,此处为Col1- 第二个参数为正则匹配规则:
/\(.*\)$/会匹配字段值末尾以(开头、)结尾的所有内容 - 第三个参数为替换值,填空字符串即可删除匹配到的括号及内部内容
- 使用
AS Col1可保证输出字段名和原字段名一致,无需额外修改Grafana面板配置
适配调整说明
- 如果你的数据中括号不一定出现在字段值末尾,可以将正则调整为
/\(.*\)/,即可匹配字段值中任意位置的括号及内部内容 - 该正则默认仅匹配单层括号,你给出的示例都是单层括号结构,可直接使用
内容的提问来源于stack exchange,提问作者ivbtar
相关产品推荐
相关产品推荐

