DB2的日期函数
问题描述:
我有一个DB2中有事务细节的文件,我的需求是提取最近1个月的事务数据。目前我手动修改日期范围如下。DB2的日期函数
WHERE TRAN_DATE BETWEEN 20170115和20170214
有没有办法不用每天手动调整日期码?
答
如何使用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)
答
如果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')
您认为它将与我的文件中的日期格式?日期填充为YYYYMMDD –
@ShabeenZarook不,但您可以创建一个将日期值转换为数值的UDF。您没有提及平台,但是如果IBM i,请考虑下载并使用[Alan Campin的iDate](http://www.think400.dk/downloads.htm) – Charles