亚马逊红移日期比较

时间:2015-12-29 21:38:26

标签: postgresql amazon-redshift

我收到错误消息“Amazon Redshift表不支持指定的类型或函数(每个INFO消息一个)。”我不确定为什么也不能在其他地方找到任何支持。

我正在尝试过滤或删除当前日期在特定日期之后的行。我创建了一个非常简单的例子。

表“tmp”有一列“date”,其中一行的值为“2016-01-01”。

我想删除该行,因为它是将来的日期。

所以我的查询是:

DELETE FROM "tmp" WHERE TO_DATE((NOW()),'YYYY-MM-DD HH:MI:SS') < "date";

然而我收到错误:

  

“Amazon Redshift表格不支持指定的类型或功能(每个INFO消息一个)。”

我还尝试将“date”列转换为DATE数据类型但是同样的错误。

我还尝试使用函数"DATE_CMP"进行BOOLEAN比较

SELECT DATE_CMP((TO_DATE(NOW(),'YYYY-MM-DD HH:MI:SS')),"date"::DATE), "date" 
FROM "tmp"

但是产生了同样的错误。

有人可以帮我解释这是为什么吗?我在Redshift文档中唯一能找到的是here,但它似乎没有提到任何相关的内容。

1 个答案:

答案 0 :(得分:2)

to_date(now(), ...)毫无意义。 now() 已经是date,无需将其转换为一个。

条件&#34; 当前日期在特定日期之后&#34;可以写成:

delete from tmp
where current_date > "date";

所有日期函数都记录在此处:http://docs.aws.amazon.com/redshift/latest/dg/Date_functions_header.html

date是列的可怕名称。一个是因为它也是一个关键字,但更重要的是它没有记录列包含的内容。开始日期?结束日期?截止日期?访问日期?发票日期?