sql 查询三天内有效的数据

时间:2022-09-16 12:08:38

发生发射点发

StringBuffer sb = new StringBuffer();
sb.append("select dmp.* from drug_presc_master where 1=1");
SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar now = Calendar.getInstance();
now.setTime(new Date());
now.add(Calendar.DATE, 1);
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
Calendar beginDate = Calendar.getInstance();
beginDate.setTime(new Date());
beginDate.add(Calendar.DATE, -displayTime + 1);
beginDate.set(Calendar.HOUR_OF_DAY, 0);
beginDate.set(Calendar.MINUTE, 0);
beginDate.set(Calendar.SECOND, 0);
sb.append(" and dpm.PRESC_DATE >= TO_DATE('").append(format.format(beginDate.getTime())).append("', 'yyyyMMddHH24MIss')");
sb.append(" and dpm.PRESC_DATE < TO_DATE('").append(format.format(now.getTime())).append("', 'yyyyMMddHH24MIss')");

下面日期执行结果

SimpleDateFormat format = new SimpleDateFormat("yyyyMMddHHmmss");
Calendar now = Calendar.getInstance();
now.setTime(new Date());
now.add(Calendar.DATE, 1);
now.set(Calendar.HOUR_OF_DAY, 0);
now.set(Calendar.MINUTE, 0);
now.set(Calendar.SECOND, 0);
Calendar beginDate = Calendar.getInstance();
beginDate.setTime(new Date());
beginDate.add(Calendar.DATE, -displayTime + 1);
beginDate.set(Calendar.HOUR_OF_DAY, 0);
beginDate.set(Calendar.MINUTE, 0);
beginDate.set(Calendar.SECOND, 0);
System.outp.println(now.getTime());
System.outp.println(beginDate.getTime());
System.outp.println(format.format(now.getTime()));
System.outp.println(format.format(beginDate.getTime()));
------------------------------------------
执行结果
now.getTime():Sun Oct 15 00:00:00 CST 2017
beginDate.getTime():Thu Oct 12 00:00:00 CST 2017
format.format(format.format(now.getTime())):20171012000000
format.format(beginDate.getTime()):20171015000000

sb.append(" and dpm.PRESC_DATE >= TO_DATE('").append(format.format(beginDate.getTime())).append("', 'yyyyMMddHH24MIss')")

dpm.PRESC_DATE:在数据库中的存储形式是 2017/8/7 19:11:27