2 liuyuan19931217 liuyuan19931217 于 2016.04.25 13:54 提问

怎么得到mysql系统日期年月与表格日期字段年月一致的数据总数?

功能需求:本月到期保管箱数量。
疑 问:我想要获取userbox表格中endDate的年月与当前系统时间年月相同的数据个数。用的如下语句,但是找出来不对。(endDate是datetime类型。)
select count(*) as count from UserBox where endDate="yyyy-MM";

2个回答

z342401436
z342401436   2016.04.25 14:31
已采纳

那你就是要按照一个固定时间统计数据喽。
那就把endDate转换成固定时间,再嵌套一层查询,先将endDate转换成月份格式,然后再去统计次数和时间。
像这样

select count(t.id),t.datetime
from (select id,to_char(endDate,'yyyy-mm') as datetime
from UserBox) t
group by t.datetime

z342401436
z342401436   2016.04.25 14:01

比如想找和2016年4月相同的数据,就把时间转换成char
where to_char(endDate,'yyyy-mm')='2016-04'

不知道有没有理解错……

liuyuan19931217
liuyuan19931217 但是本月第一天貌似不好取值。。
大约 2 年之前 回复
liuyuan19931217
liuyuan19931217 本月第一天,最后一天估计可行
大约 2 年之前 回复
liuyuan19931217
liuyuan19931217 我不是只要这个月,我是要自动计算每个月的数据总数
大约 2 年之前 回复
z342401436
z342401436 回复liuyuan19931217: 其实有个更简单的方法,where endDate >= '2016-04-01 00:00:00' and endDate <= '2016-04-30 23:59:59'
大约 2 年之前 回复
liuyuan19931217
liuyuan19931217 理解完全正确,赞
大约 2 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
sql如何截取日期字段中的年和月
--如果是日期型 declare @a datetime set @a = '2011-02-15' select convert(varchar(6),@a,112) go --如果是字符型 declare @a varchar(10) set @a = '2011-02-15'  select left(replace(@
如何使用MySQL获取当前年份月份日期
1、获取年份select YEAR(CURDATE()); 20182、获取月份select MONTH(CURDATE()); 43、获取日期select DATE(CURDATE()); 2018-04-224、获取当年一月份select CONCAT(YEAR(CURDATE()),'-','01'); 2018-01...
如何获取sql数据中时间的月份、年份(类型date)
可用自带函数month来实现。 如: 创建表及插入数据:create table test (id int, begindate datetime)insert into test values (1,'2015-01-01') insert into test values (2,'2015-02-01')执行sql语句,获取月份:select id,MONTH(begindate) as m
数据库的日期字段,只取出年月日
数据库SQL中 某字段为日期类型,是有时分秒的,只想取出年月日的时候用下面的方法Select  CONVERT(varchar(12) , sdat_Nonyu_date, 111 )  AS sdat_Nonyu_date FROM AAA嘿嘿070411补充   select   convert(varchar(10),getdate(),120)     -----------------
MySQL 将查询的日期按年月归档
【知识准备】 1. 使用到的 MySQL 日期函数: 函数 功能 DATE_FORMAT(date, fnt) 返回按字符串 fmt 格式化的日期 date 值 2. 使用到的 MySQL 的日期和时间格式: 格式符 格式说明 %Y 四位数字表示的年份,如:2
mysql 日期 报表插件从后台获取数据
http://www.cnblogs.com/benefitworld/p/5832897.html        本周数据,本月数据 http://blog.csdn.net/qq_35123802/article/details/78456209 http://blog.csdn.net/www520507/article/details/55102318   报表插件从后台获取数据
Mysql数据库中获取系统时间,年,月,日单个获取
mysql查询获取系统当前时间日期,年月日等。。
获取一个年份、月份、一段时间的年月份sql,例如从某年到今年的时间段2017-01、2017-02
获取年份 SELECT year   FROM (    SELECT LPAD (LEVEL, 4, 0) AS year               FROM DUAL         CONNECT BY LEVEL  WHERE year > 2014; 执行的结果为下图 获取月份      SELECT LPAD (LEVEL, 2, 0) AS month   
MySQL取字段年月日
select date(now()) 。如字段名为createTime:select date(createTime) from table_name;
mysql 对于年月日日期的比较bug记录
记录一下mysql的问题,在前段日期传过来是2017-01-01的格式,我要在数据库比较日期,假设是年龄,我可以在mysql语句中拼查询,如下: SELECT * FROM `retire_infor` re where re.birtyday >= '1956-01-01' and re.birtyday         但这样查询你会发现只能查询到1956和1957的,所谓的