MySQL中统计月份数据以及统计年份数据时将月份如何转换成年或者具体日

统计月份数据以及统计年份数据时如何将月份或者年转换成具体日,在不能手动补0的情况下,顺其自然地另辟蹊径了!
计算店铺月售额和年售额的时候,统计每个月和每一年的数据总是出现莫名其妙的问题。
DATE_FORMAT(date,’%Y-%m-%d’)函数真的是个神坑,就是个事儿精,而且功能很不强。形参date必须是date形式的,也就是说必须精确到日。但凡是月份或者年份就都不行了,转换贼菜!
那我怎么统计一年的?难道要统计365天?就不能统计12个月的?
所以我一开始想到个骚操作,就是把date(比如month和year)取出来然后补0补到天,然后再进行格式化,美滋滋。
直到,直到我字段名是month的月份我想从里面取出来,但是我month和shop是一对唯一索引,也就是说除了month和shop成对唯一之外,再无唯一数据,这样就没法取出来手动补0。这时候只能借助函数,但是!!!没有一个函数接受月份转换,查遍了mysql中date的方法都无果!
然后!!!!!!!看到旁边的商店模糊搜索!!!!!灵光乍现,日期也是字符串,如何不能模糊包含,直接解决!牛批!!给自己鼓掌!特此分享!!

		// 获取Sql查询语句     !!!!!!一定要注意时间不是time,是month 取year有专门的函数
//		String date1 = date + "-00-00";//就这一句话花了我一下午
//		String Sql1 ="SELECT SUM(wx) as wx, SUM(zfb) as zfb, SUM(cash) as cash, SUM(total) as sum from t_shopmonth"
//				+ " where Year(month)=DATE_FORMAT('"+date1+"','%Y')"
//						+ " AND shop like '%"+shop+"%';";
		String Sql1 ="SELECT SUM(wx) as wx, SUM(zfb) as zfb, SUM(cash) as cash, SUM(total) as sum from t_shopmonth"
				+ " where month like '%"+date+"%' AND shop like '%"+shop+"%';";
		System.out.println(Sql1);

探索过程如下图为证:神坑!!!!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值