oracle当前日期加30天,oralce 查询30天后生日 解决方案(解决跨年问题)

select

PCC.INVNM custName,

to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'yyyy/MM/dd') birthday

from PRSP_CRM_CUSTINFO pcc where PCC.DELETE_FLG='0'

andto_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') >= to_char(sysdate,'MMdd')

and

to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') to_char(sysdate+30,'MMdd')

andto_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') >= to_char(sysdate,'MMdd')

or

to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') to_char(sysdate+30,'MMdd')

首先根据 当前日期 判断 30天后是否 跨年

/**

* 判断跨年

* @return 不返回true(跨年 返回false)

*/

public static boolean isYares(){

boolean flg=false;

SimpleDateFormat df = new SimpleDateFormat("yyyyMMdd");//设置日期格式

Date today = new Date();

Calendar theCa = Calendar.getInstance();

theCa.setTime(today);

theCa.add(theCa.DATE, +30);//最后一个数字30可改,30天的意思

Date start = theCa.getTime();

String endDate = df.format(start);//三十天之前日期

String startDate=df.format(today);

String endYear = endDate.substring(0, 4);

String startYear = startDate.substring(0, 4);

if(endYear.equals(startYear)){

flg=true;

}

return flg;

}

根据这个赋值 isYears去判断

目前一条SQL 解决的 暂时没看到。所以用了 一个动态sql解决

有问题随时联系 QQ群 600922504

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值