在 db2 SQL 中选择日期范围
Posted
技术标签:
【中文标题】在 db2 SQL 中选择日期范围【英文标题】:Selecting a date range in db2 SQL 【发布时间】:2020-04-02 19:01:48 【问题描述】:我正在尝试在 db2 SQL 中选择一个日期范围。日期范围为当天 -7 天到当天 - 1 天。我想选择该范围内的所有记录。我试图通过为每个日期声明一个变量来做到这一点:
CREATE OR REPLACE VARIABLE v_date7 varchar(10)
Set v_date7= select current date - 7 days from sysibm.sysdummy1
这会出错,因为
不需要设置关键字
我尝试添加一个 ;到第一行的末尾,但由于 ;无效。
【问题讨论】:
日期减去间隔得到日期,而不是 varchar。应该是current_date
,一个字。
【参考方案1】:
试试这样的递归公用表表达式 (RCTE):
WITH T (D) AS
(
VALUES CURRENT DATE - 1 day
UNION ALL
SELECT D - 1 day
FROM T
WHERE D > CURRENT DATE - 7 day
)
SELECT D
FROM T;
【讨论】:
感谢您的建议。这个项目暂时搁置了,所以我没有机会做任何进一步的工作。【参考方案2】:在数据库中创建和设置全局变量
create or replace variable sevendaysago date
default(current_date - 7 days)
【讨论】:
感谢您的建议。这个项目暂时搁置了,所以我没有机会做任何进一步的工作。以上是关于在 db2 SQL 中选择日期范围的主要内容,如果未能解决你的问题,请参考以下文章