Java 在sql中查找上个月的最后一天数据
如何查找上个月最后一天的数据Java 在sql中查找上个月的最后一天数据,java,mysql,Java,Mysql,如何查找上个月最后一天的数据 将日期与以下日期进行比较:其中。。。获取上个月最后一天的日期 select amount, Temperature, Density from sheet where Code=? and product=? and date < ? order by date desc limit 1 然后将last_date作为查询字符串日期参数 String sql=“选择金额,\n”+ 温度,\n+ “密度\n”+ “从工作表\n”+ “其中代码=?和产品=?以及日
其中。。。获取上个月最后一天的日期
select amount, Temperature, Density from sheet where Code=? and product=? and date < ? order by date desc limit 1
然后将last_date作为查询字符串日期参数
String sql=“选择金额,\n”+
温度,\n+
“密度\n”+
“从工作表\n”+
“其中代码=?和产品=?以及日期=?” int year=2012年;
整月=1;
整日=0;
校准设置(年、月、日)
Date-Date=cal.getTime()
将此日期设置为您的查询
这将给2012年1月31日
如果您给出month=2,则将给出2012年2月29日,依此类推
SELECT DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )
DAY ) AS 'last_date'
FROM dual
这将返回日期范围之间的最大日期
然后
我很清楚,使用聚合函数而不使用分组依据是不道德的,但它在这种情况下是有效的。String sql=“选择数量”\n“+”温度、\n“+”密度\n“+”来自表\n”+“其中代码=?和产品=?和日(日期)=?和月(日期)=和年(日期)=”和设置参数您想设置上月最后一天的参数,对吗?是的,我需要从SQLS中查找上月最后一天的数据您是指上月最后一天的确切日期,还是仅指上个月最后一天的数据?上个月最后一天的数据Hokay,请参见我的答案,这应该适用于您。我认为最大的“开放”部分是计算当月第一天的第一秒。但你应该可以很容易地独自解决这个问题;)那么我应该在这里放置什么stmt.setDate(3,3)@Adrian严格地说,您应该检查日期是否也在上个月的开始之后-该月可能根本没有任何记录。@user1699623下个月的第一秒,例如,如果您想在其中设置7月而不是8月1日的第一秒。@Alnitak是的,您是对的,但很简单,可以单独计算出来,如果真的需要,我通过cal.set(年、月、日)获得错误;这将不起作用,因为你仍然需要匹配时、分、秒。。数据库中的日期和您提供用于比较的日期。使用此字符串sql=“选择数量,\n”+“温度”\n”+“密度”\n”+“从表\n”+“其中代码=?和产品=?和日期(日期)=?和月份(日期)=和年份(日期)=”设定parameters@nagarajub您应该将此作为单独的答案添加。谢谢,这很有用,但如何使用dataCalendar cal=Calendar.getInstance()查找上个月的最后一天;国际年=2012年;整月=1;整日=0;校准设置(年、月、日);day=cal.get(日历日期);第31天
SELECT DATE_SUB( CURDATE( ) , INTERVAL DAYOFMONTH( CURDATE( ) )
DAY ) AS 'last_date'
FROM dual
select max(date) from sheet where date between ? and ?
select * from sheet where date=(select max(date) from sheet where date between ? and ?);