DB2的日期函数

时间:2017-02-15 16:07:03

标签: db2

我有一个在DB2中有事务详细信息的文件,我的要求是提取最近1个月的事务数据。目前我手动修改日期范围如下。

在20170115和20170214之间的TRAN_DATE

有没有办法进行编码而无需每天手动调整日期?

2 个答案:

答案 0 :(得分:1)

如何使用current date和日期算术?

WHERE TRAN_DATE BETWEEN current date and (current date - 1 month)

如果您需要YYYYMMDD格式,可以这样转换:

YEAR(CURRENT DATE) * 10000 + MONTH(CURRENT DATE) * 100 + DAY(CURRENT DATE)

答案 1 :(得分:0)

如果TRANS_DATE是一个数字,那么

WHERE TRANS_DATE BETWEEN INTEGER(TO_CHAR(CURRENT DATE,'YYYYMMDD')) AND 
                         INTEGER(TO_CHAR(CURRENT DATE - 1 MONTH,'YYYYMMDD'))

如果是字符串则

WHERE TRANS_DATE BETWEEN TO_CHAR(CURRENT DATE,'YYYYMMDD') AND 
                         TO_CHAR(CURRENT DATE - 1 MONTH,'YYYYMMDD')