我得到了一个Oracle SQL代码,我想要的日期。
select abc,eff_dt from xyz where eff_dt between 'a' and 'b'
我期待着从前3个月的日期。1.例如,如果当前日期是5/26/2023,那么我希望a=02/01/2023,B=04/30/2023。1.例如,如果当前日期是6/01/2023,那么我希望a=03/01/2023,B=05/31/2023。
8ftvxx2r1#
您可以将当前日期截断为该月的第一天,然后使用间隔算法。也许你想使用半开放间隔,而不是计算一个月的最后一天(这通常更安全,特别是如果你的日期有时间部分):
where eff_dt >= trunc(sysdate, 'mon') - interval '3' month and eff_dt < trunc(sysdate, 'mon')
当然,这假设eff_dt是类似date的数据类型。
eff_dt
date
1条答案
按热度按时间8ftvxx2r1#
您可以将当前日期截断为该月的第一天,然后使用间隔算法。也许你想使用半开放间隔,而不是计算一个月的最后一天(这通常更安全,特别是如果你的日期有时间部分):
当然,这假设
eff_dt
是类似date
的数据类型。