sql - 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 并将该值存储在表中?我尝试减去天而不是一个月,但要减去的天数根据问题的月份而有所不同,因此这不是一个好的解决方案。
解决方案
add_months()
行得通吗?
SELECT add_months(date_trunc('month', CURRENT_DATE), -1) as start_date;
推荐阅读
- javascript - 为什么我不能在 HTML 中设置我的 span 标签的 innerHTML?
- python - 将变量插入字符串时如何保留换行符?
- multithreading - python中语音识别的并行处理
- c# - 在 C# Visual Studio ERCOT 上使用 Signed SOAP 发出 Web 请求
- anova - 我是否使用具有 3 个不同因素结果的问卷对 2 个具有 2 个水平的 IV 使用 MANOVA 或双向 ANOVA?
- javascript - 如何按预定义的值对对象数组进行排序?
- python - 用python分配内存以传递给dll
- php - 不传递某些值
- java - Java中的同义词搜索
- javascript - 改进输入更改的存储