在 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 中选择日期范围的主要内容,如果未能解决你的问题,请参考以下文章

sql 从系统中选择日期范围

在 Pandas 多索引中选择日期范围的正确方法是啥?

在 SQL 中选择日期之间的平均差异

SQL Server 2008 仅从字段中选择日期 [重复]

在日期选择器中选择日期之前触发功能

在日期选择器中选择日期后如何打开时间选择器