在 Flink 中,json_query 函数的 path 参数需要是一个固定的字符串值,不能直接使用变量。这意味着您无法在 json_query 函数的 path 中动态地引用表达式或变量。

报错信息中提到了不支持带有符号的 JSON_QUERY 调用,这是因为 Flink 目前不支持将变量作为 json_query 函数的 path 参数进行解析和执行。

如果您想在 json_query 函数中使用动态路径,可以考虑使用 Flink 的 UDF(User-Defined Function)功能来实现自定义的查询逻辑。通过编写自己的 UDF,并将其应用于查询语句中,您可以实现更灵活的路径查询操作。

以下是一个示例:

import org.apache.flink.table.functions.ScalarFunction;public class JsonQueryUDF extends ScalarFunction {    public String eval(String json, String path) {        // 在这里编写自己的 JSON 查询逻辑,使用 path 参数来动态获取对应的结果        // 返回查询结果    }}

然后,在您的 Flink SQL 查询中,可以使用该自定义 UDF:

SELECT JsonQueryUDF(col_a, col_b) FROM table_a;

这样,您可以自定义处理 JSON 查询逻辑,并在查询中根据需要传递变量参数来执行动态的路径查询。

请注意,以上代码仅为示例,请根据实际需求进行修改和调整。具体的自定义 UDF 实现可能需要根据您的数据结构和查询需求而有所不同。