Sql 红移中的date_trunc()返回奇怪的错误

Sql 红移中的date_trunc()返回奇怪的错误,sql,amazon-redshift,Sql,Amazon Redshift,所以我在红移数据库中遇到了以下奇怪的行为 以下查询按预期运行,将当前时间戳截断为月份: select date_trunc('month', now()) -- returns 2019-01-01 00:00:00+00 相反,这个问题: select date_trunc('month', now()) from table 返回以下错误 错误:指定的类型或函数(每个信息消息一个)不可用 红移表支持 没有信息消息,但问题显然与date\u trunc()有关,因为它是唯一使用的函数 通常

所以我在红移数据库中遇到了以下奇怪的行为

以下查询按预期运行,将当前时间戳截断为月份:

select date_trunc('month', now()) -- returns 2019-01-01 00:00:00+00
相反,这个问题:

select date_trunc('month', now())
from table
返回以下错误

错误:指定的类型或函数(每个信息消息一个)不可用 红移表支持

没有信息消息,但问题显然与
date\u trunc()
有关,因为它是唯一使用的函数

通常情况下,我希望它能像在PostgreSQL上一样工作,返回被截断的当前时间戳,其时间与
表的行数相同

我还查看了《案例》
date\u trunc()
尚未得到完全支持,但我找不到任何参考资料

有什么我遗漏的吗?任何解决方法?

now()是一个仅用于引线节点的函数。这意味着如果你不使用桌子,它就可以工作

您可以使用当前的\u时间戳,而不是now()

e、 g

这很好用


(右下方)

您是否可以尝试从实际表格中选择一列或多列?我的意思是,只为表中的每一行选择一个常数,而不选择其他值,这有什么意义呢?是的,我已经选择了,但我仍然得到了错误。我实际上想做的是过滤这些行,以便只保留那些date_trunc('month',created_at)=date_trunc('month',now())但不起作用的行,所以我试图理解哪里出了问题,最后我在问题描述中解释了这确实非常有效。谢谢你启发我
select date_trunc('month', current_timestamp)
from table;