Sql 用于每日刷新的DOB查询

Sql 用于每日刷新的DOB查询,sql,db2,Sql,Db2,我在DB2中有一个包含客户姓名和出生日期的文件。我想每天运行一个报告,以提取DOB在哪里>今天的日期。我不想每天手动更改日期 如何编写代码 从EMOQRYCOMP.SSCUSTP创建表QTEMP.TEST作为选择名称,DOB,其中 SELECT NAME, DOB FROM EMOQRYCOMP.SSCUSTP WHERE DOB > CURRENT_DATE 当前日期也适用,但我更喜欢带下划线的版本。以下查询将返回所有dob月和日大于今天的行,直到年底 select * fro

我在DB2中有一个包含客户姓名和出生日期的文件。我想每天运行一个报告,以提取DOB在哪里>今天的日期。我不想每天手动更改日期

如何编写代码

从EMOQRYCOMP.SSCUSTP创建表QTEMP.TEST作为选择名称,DOB,其中

SELECT NAME, DOB 
FROM EMOQRYCOMP.SSCUSTP 
WHERE DOB > CURRENT_DATE

当前日期也适用,但我更喜欢带下划线的版本。

以下查询将返回所有dob月和日大于今天的行,直到年底

select * 
 from QTEMP.TEST
where (month(dob) = month(current date) and day(dob) > day(current date)) 
   or (month(dob) > month(current date))

桌子上不会有很多尚未出生的顾客…@mustaccio…不应该有;但这正是OP的要求。显然,他没有定义约束。我想你真正想要的是那些出生的月份和日期大于今天的月份和日期的客户,不管是哪一年。DOB永远不会在未来。这是为了报告错误捕获的DOB'sWhy-1?此解决方案在qtemp中工作并保存解决方案。。。
DECLARE GLOBAL TEMPORARY TABLE session.test as (
SELECT NAME, DOB 
FROM EMOQRYCOMP.SSCUSTP 
WHERE DOB > CURRENT DATE
) with data with replace not logged