我需要在两个表里查询数据,执行这条SQL 是用一个定时任务来执行,而我的这个SQL的条件就是当前时间到当前时间的前一天之内的这段时间(假如现在是2012.12.12的上午10点,那么时间范围就是2012.12.11号的上午10点到12号的上午10点这段时间,为条件来查询这短时间内的数据)求解怎么写这段SQL!!!!!
解决方案 »
- Cannot locate the chosen ObjectFactory implementation: spring - [unknown locatio
- 哪位大侠可以介绍一下J2EE和J2SE有什么大的区别?
- 怎样从servlet传一个list对象给jsp
- 菜鸟在用FileFilter()时遇到了问题,高手快快赐教!!
- 算完整数
- ant问题
- 有没有人用linux+tomcat+j2sdk+mysql当为服务器
- 启动j2ee出错,谁能帮我看看是什么原因?
- 求助web service client错误原因
- quartz 2.2 当job出错时,居然自动重新调用了3次,求大神解答
- java 执行CMD命令的困惑
- java远程读取本地文件名的问题!跪求!!
Calendar c = Calendar.getInstance();
long l = c.getTimeInMillis();
long res = l - 24 * 3600 * 1000;
c.setTimeInMillis(res);
String s = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(res);
String st = "2012-12-02 12:12:20";//要传的参数
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date d = null;
try {
d = sf.parse(st);
} catch (ParseException e) {
e.printStackTrace();
}
long t = d.getTime();
long p = t - 24 * 3600 * 1000;
String test = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(p);
System.out.println(test);
}
——这关系到时间应该在哪边进行处理。第二个问题是:什么数据库?
——不同数据库关于时间的处理函数是不同的。
oracle
+1
我上面写的只是一个在sql里面操作这个时间的方法使用oracle数据库 不同的数据库函数也不一样同样不同的层次执行操作方式也不一样!
WHERE T.TIME BETWEEN TO_CHAR(SYSDATE-1,'YYYY-MM-DD HH24:MI:SS') AND TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS')
--如果你的时间字段为data类型
WHERE T.TIME BETWEEN SYSDATE-1 AND SYSDATE
Date currentDate=c.getTime();//当前系统时间
c.add(Calendar.DAY_OF_YEAR,-1);//当前时间减去一天即昨天的这个时间
Date yesterDay=c.getTime();//获取昨天
//currentDate和yesterDay就是你要的时间条件了