Looker Explore查询Snowflake数据时ILIKE相关SQL语法错误问题咨询
Looker连接Snowflake查询出现多余点号语法错误的原因
报错信息:Snowflake数据库运行查询时出错,SQL语法错误:SQL编译错误:第XX行第YYY位置出现非预期符号'ILIKE'
你遇到的ILIKE相关报错只是语法错误的连锁触发提示,根因是Looker自动生成的SQL中Order.Country后多了多余点号,破坏了字段引用格式,常见触发原因如下:
- LookML视图维度配置错误:这是该问题最高发的诱因。在
Order视图的Country维度定义中,sql参数末尾额外添加了点号,错误示例如下:
Looker生成查询SQL时会直接拼接维度的dimension: Country { type: string sql: ${TABLE}.Country. ;; # 该行末尾多写了点号 }sql参数内容,就会出现你核查到的where Order.Country. ILIKE '%US%'异常片段。 - Explore关联配置错误:如果当前查询用到的Explore中,关联多个视图时对
Order.Country字段的引用多写了点号,该多余符号也会被带入最终生成的SQL中。 - 自定义过滤条件错误:若你在Explore过滤面板使用自定义SQL编写过滤规则,手动输入
Order.Country时额外加了点号,也会触发该语法错误。
快速排查解决步骤
- 首先定位
Order视图的Country维度定义,检查sql参数末尾是否存在多余点号,删除多余符号后保存视图,重新执行查询即可修复大部分该类问题 - 若维度配置正常,检查当前Explore的Join关联规则,排查所有涉及
Country字段的引用逻辑 - 检查当前查询的所有过滤条件,确认是否存在手动编写的SQL片段带多余点号
内容的提问来源于stack exchange,提问作者Erohsik
相关产品推荐
相关产品推荐

