首页 > 解决方案 > Redshift - 表中月份的第一天和最后一天

问题描述

在 Redshift 中获取每月的第一天时,以下代码有效:

SELECT 
    date_trunc('month', CURRENT_DATE) - INTERVAL '1 month' as start_date;

但是,当我尝试将 Select 语句的输出添加到表时,出现错误:

CREATE TABLE test AS
   SELECT 
       date_trunc('month', CURRENT_DATE) - INTERVAL '1 month' as start_date;

错误:不支持包含月份或年份部分的间隔值

我现在如何计算上个月的 start_date 并将该值存储在表中?我尝试减去天而不是一个月,但要减去的天数根据问题的月份而有所不同,因此这不是一个好的解决方案。

标签: sqlamazon-redshift

解决方案


add_months()行得通吗?

SELECT add_months(date_trunc('month', CURRENT_DATE), -1) as start_date;

推荐阅读