sql - 在 redash 仪表板上,是什么原因导致“运行查询时出错:100035 (22007):无法识别时间戳 'd_yesterday'”?
问题描述
在由 Snowflake 数据库支持的 Redash 应用程序实例上,我设置了一个仪表板,其中包含许多查询,每个查询都采用date
名为startDate
.
我的每个查询都被编码为通过 WHERE 子句应用仪表板的选定日期,例如:
WHERE created_at >= '{{ startDate }}'
在大多数情况下,这工作正常。
但是,当在我的仪表板上,对于startDate
参数,我选择特殊值Yesterday
(而不是特定日期),我的一些(但不是全部)查询显示错误而不是显示任何数据:Error running query: 100035 (22007): Timestamp 'd_yesterday' is not recognized
.
这个错误是什么意思,我该如何解决?
解决方案
当在受影响的查询上,参数仍然具有其默认类型text
,而不是已更改为 type时,会出现此问题date
。
发生错误是因为在仪表板上选择特殊日期值“昨天”仅适用于日期类型参数 - 而不是文本类型参数。
将每个单独查询的参数类型更改为date
,保存这些更改,然后刷新仪表板,应该可以解决问题。
推荐阅读
- node.js - requests 模块返回带有无序项目的 JSON
- node.js - 使用节点生成 ClientHello 和 ServerHello
- mongodb - 通过表单从不同字段上传多个文件并使用express multer存储到mongodb数据库中
- javascript - React 本机 webview 自动链接导致“包 com.reactnativecommunity.webview.events 不存在”错误。你知道有什么解决办法吗?
- java - Viewholder 上的空指针
- c# - NJsonSchema 对象验证
- javascript - 当要设置动画的项目位于可滚动视图前面时,Panresponder 或 Animated.View 不起作用
- git - 在 AEM 中创建可编辑模板的正确方法是什么?
- javascript - 将每个奇数单词包装在跨度标记 jquery 中
- javascript - 如何使用背景图像导出画布?