Grafana 中的变量(Variables)在创建和使用时,可以通过 高级选项(Advanced options) 来设置变量的 多值数据过滤器(Multi-value variable filtering options),这些选项决定了当变量包含多个值时,在查询中如何插入和处理这些值。其中,常见的过滤器选项包括:
literal_or
iliteral_or
not_literal_or
not_iliteral_or
以下是这些选项的详细区别和使用方式:
1. literal_or
-
含义:进行 区分大小写 的 精确匹配,使用 OR 运算符连接。
-
用途:当变量包含多个值时,使用
OR
将多个值连接起来,查询包含任意一个指定值的数据。 -
示例:
假设变量
$var
具有值:value1
,value2
。查询语句:
SELECT * FROM table WHERE field IN ($var)
使用
literal_or
过滤器,变量会被替换为:SELECT * FROM table WHERE field IN ('value1', 'value2')
或等价于:
SELECT * FROM table WHERE field = 'value1' OR field = 'value2'
2. iliteral_or
-
含义:进行 不区分大小写 的 精确匹配,使用 OR 运算符连接。
-
用途:当变量包含多个值时,使用
OR
将多个值连接起来,查询包含任意一个指定值的数据,匹配时不区分大小写。 -
示例