【发布时间】:2019-01-25 09:56:19
【问题描述】:
所以我在 Redshift 数据库上遇到了以下奇怪的行为。
以下查询按预期运行,将当前时间戳截断为月份:
select date_trunc('month', now()) -- returns 2019-01-01 00:00:00+00
相反,这个查询:
select date_trunc('month', now())
from table
返回以下错误
错误:指定的类型或函数(每个 INFO 消息一个)不是 在 Redshift 表上受支持。
没有 INFO 消息,但显然问题与 date_trunc() 有关,因为它是唯一使用的函数。
通常我希望它会像在 PostgreSQL 上一样工作,返回截断为月份的当前时间戳与 table 的行数一样多。
我还查看了this,以防date_trunc() 尚未得到完全支持,但我找不到任何参考。
我有什么遗漏的吗?有什么解决方法吗?
【问题讨论】:
-
您能否尝试从实际表格中选择一列或多列?我的意思是,只为表格的每一行选择一个常数,而不是别的,这有什么意义?
-
是的,我有,但我仍然收到错误。我实际上试图做的是过滤行,以便只保留那些 date_trunc('month', created_at) = date_trunc('month', now()) 但它不起作用所以我试图了解发生了什么错了,我最终得到了我在问题描述中解释的内容
标签: sql amazon-redshift