MySQL中, 如何查询某一天, 某一月, 某一年的数据.
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL中, 如何查询某一天, 某一月, 某一年的数据.相关的知识,希望对你有一定的参考价值。
如题. 时间类型为datetime, 请给出简洁易懂的SQL语句, 并且适当给于注释.
如果对效率问题给于说明, 小弟更是感激不尽!
select * from 表 where date_format(日期,'%Y-%m')='2014-04' 月份
select * from 表 where date_format(日期,'%Y')='2014' 年
就是date_format(日期,'%Y-%m-%d') 这里的参数长短追问
日和月都没有问题, 但是年的数据出错了, 这是为什么呢?
本回答被提问者采纳 参考技术B 网上搜一下追问最烦你这种人, 不会别tm来凑热闹.
参考技术C 你前台页面是什么查询?是输入时间还是选择时间?java获取过去一天,过去一月,过去一年的日期,以及截至今天过去某一段时间的时间集
1.获取过去一天,过去一月,过去一年的日期
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Calendar c = Calendar.getInstance(); //过去九天 c.setTime(new Date()); c.add(Calendar.DATE, - 9); Date d = c.getTime(); String day = format.format(d); System.out.println("过去九天:"+day); //过去一月 c.setTime(new Date()); c.add(Calendar.MONTH, -1); Date m = c.getTime(); String mon = format.format(m); System.out.println("过去一个月:"+mon); //过去三个月 c.setTime(new Date()); c.add(Calendar.MONTH, -3); Date m3 = c.getTime(); String mon3 = format.format(m3); System.out.println("过去三个月:"+mon3); //过去一年 c.setTime(new Date()); c.add(Calendar.YEAR, -1); Date y = c.getTime(); String year = format.format(y); System.out.println("过去一年:"+year);
2.获取截至今天之前某一段时间的时间集
SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
//获取当前时间作为endTime截至时间
Date todaydate = new Date();
String endTime = format.format(todaydate);
Calendar c = Calendar.getInstance();
//过去九天的日期为起始日期
c.setTime(new Date());
c.add(Calendar.DATE, - 9);
Date d = c.getTime();
String day = format.format(d);
//获得该起止时间段的时间集
Set<String> dayset1 = null;
Set<String> dayset2 = null;
//两种时间格式集
dayset1 = TimeUtil.getDaysBetween(beginTime,endTime, TimeUtil.MMDD);
dayset2= TimeUtil.getDaysBetween(beginTime, endTime, TimeUtil.YYYYMMDD);
以上是关于MySQL中, 如何查询某一天, 某一月, 某一年的数据.的主要内容,如果未能解决你的问题,请参考以下文章