Snowflake含空格列名聚合查询报错:求商品平均价格的正确SQL
解决Snowflake中带空格列名的聚合查询问题
问题原因
你的SQL报错源于两个核心问题:
- 带空格的列名
item price未用双引号包裹,Snowflake会将其解析为item * price的运算逻辑。如果item是字符串类型,系统尝试将其转为数值参与运算时,就会触发数值识别失败的错误。 order是SQL保留关键字,作为表名使用时必须用双引号包裹,否则会引发语法冲突。
正确SQL代码
select item, avg("item price") from "order" group by item;
关键说明
- 在Snowflake中,包含空格、特殊字符或属于SQL关键字的标识符(列名、表名等),必须用双引号包裹,这样系统才会将其识别为单个的标识符。
- 双引号包裹的标识符区分大小写,要确保和实际列名、表名的大小写完全匹配(比如列名是
Item Price,就要写成"Item Price")。
内容的提问来源于stack exchange,提问作者Abhishek Patil
相关产品推荐
相关产品推荐

