You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用AWS Glue中PySpark查询Snowflake含特殊字符表时SQL编译错误的解决咨询

解决Snowflake带特殊字符表名的SQL编译错误

你判断的完全正确,这个SQL编译错误确实是因为你的表名里包含了连续减号(--)这类特殊字符导致的。Snowflake会把--识别为SQL注释的起始标记,这就导致你的查询语句被提前截断,自然会抛出“意外遇到”的语法错误。

要解决这个问题,你只需要在查询语句中用双引号把带特殊字符的表名包裹起来就行——这是Snowflake处理特殊标识符的标准方式:

# 修改查询语句,用双引号包裹表名
query=f'select * from "{table}"'

或者你也可以用转义双引号的写法(外层用双引号时):

query=f"select * from \"{table}\""

这样Snowflake就会把整个"{table}"解析成完整的表名,而不会把--当作注释开头来处理。

另外补充两点注意事项:

  • 如果你的数据库名或 schema 名也包含特殊字符,同样需要用双引号分别包裹,比如"MY_DB"."MY_SCHEMA"."{table}"
  • 如果你创建表时是用双引号定义的大小写敏感名称,包裹时要严格匹配表名的大小写;如果是默认创建的(不区分大小写),用双引号包裹时转成大写也能正常识别,但建议和实际表名保持一致

内容的提问来源于stack exchange,提问作者cloud_hari

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 13:14:13