专栏首页带你回家oralce 查询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'
		
		<if test="isYears=='0'.toString()">
		and	to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') >= to_char(sysdate,'MMdd') 
		and 
			to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') <![CDATA[ <= ]]> to_char(sysdate+30,'MMdd') 
		</if>
		<if test="isYears=='1'.toString()">
		and	to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') >= to_char(sysdate,'MMdd') 
		or 
			to_char(TO_DATE(pcc.BIRTHDAY, 'yyyyMMdd'),'MMdd') <![CDATA[ <= ]]> to_char(sysdate+30,'MMdd') 
		</if>	

首先根据 当前日期 判断 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解决

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 经典的SQL 语句大全

    一、基础 1、说明:创建数据库 CREATE DATABASE database-name 2、说明:删除数据库 drop database dbn...

    斯文的程序
  • 让eclipse 变快点 取消vadate验证

    在使用eclipse中默认设置总是要验证,感觉非常慢。有时候会卡死。。用起来就不爽。。

    斯文的程序
  • java手机发送短信验证码

    斯文的程序
  • “原罪”或阻团购上市 是时候该转型了

    Groupon发明的团购模式,很快被国人快速复制,在经历2012年的千团大战、2013年大众点评、去哪儿、百度等巨头碾压之后,活下来的独立团购网站已是屈指可数:...

    罗超频道
  • Product advanced search implemented in Industry solution

    For example, I would like to check whether my user has enough authorization defi...

    Jerry Wang
  • 如何检查某用户是否分配了某ABAP权限对象

    For example, I would like to check whether my user has enough authorization defi...

    Jerry Wang
  • 面试题之会议安排

    最近工作太忙,自己输入不够所以最近没有输出什么有价值的技术文章。今天分享一个面试题的解法。现在基本上排在第一线的互联网公司面试时都会考算法题,而且题目不是单纯的...

    KevinYan
  • PHP学习-----Android客户端传回图片的base64位码php保存到服务器和文件夹里面

    最近的case中需要用到用户发布上传图像的问题,每次发布的图片数量控制在三张,可以相机拍照,可以相册选择

    wust小吴
  • 科学家试图教会机器人感觉疼痛以保护人类

    大数据文摘
  • 机器人战胜人类时间表:2061年完成所有人类任务,你信吗?

    据美国《商业内幕》(Business Insider)网站报道,牛津大学与耶鲁大学研究人员的一项最新研究显示,未来50年内机器人将取代数百万个人类工作职位,从货...

    机器人网

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动