snowflake-cloud-data-platform - 在 INSERT 语句的值子句上使用表达式时出现雪花问题
问题描述
嗨,我遇到了 Snowflake 的这个问题。我在 Snowflake SP 中有一些类似这样的插入语句:
DROP TABLE TABLE1;
CREATE table TABLE1 (COLUMN1 VARCHAR(10));
insert into table1 values('TEST' || TRIM(0));
当我执行这些语句时,我收到如下错误:
SQL compilation error: Invalid expression ['TEST' || '0'] in VALUES clause
雪花中的 VALUES 子句是否有记录的限制。有什么办法解决这个问题吗?
解决方案
根据此处的文档:https ://docs.snowflake.com/en/sql-reference/constructs/values.html
每个表达式都必须是常量,或者是在 SQL 语句编译期间可以作为常量求值的表达式。
大多数简单的算术表达式和字符串函数可以在编译时求值,但大多数其他表达式不能。
在查看您的示例时,您TRIM
在数字表达式上使用 a ,这不是必需的。如果您删除TRIM()
,那么您的示例可以正常工作。
推荐阅读
- javascript - 如何将 HTML 日期时间选择器 datetime-local 转换为时刻格式
- logging - 对于 CDAP Logging HTTP RESTful API,如何传递过滤器参数
- c# - 使用 Dapper 在 C# 中返回多个输出并返回图像值
- python - 选择国家和地区的API
- spring - 如何知道春季批处理作业之前的作业是否完成
- xamarin - 如何在 Xamarin UI-Test 中获取元素的字体大小?
- javascript - JavaScript:如何增加对象属性
- mysql - 如何格式化 MySQL 中的整个日期列?
- python - AttributeError:“set”对象没有属性“timeout”
- powerbi - Power BI 中的行计算