【MySQL查询当天、前一天、上一年今天、本周、上周、上一年同周、本月、上月、去年同月、今年、上一年数据】

表名为【ec_electric_value】,时间字段为【collect_time】

查询今年

select * from ec_electric_value t where year(t.collect_time) = year(now())

查询上一年

select * from ec_electric_value t where year(t.collect_time) = year(date_sub(now(),interval 1 year))

查询本月

select * from ec_electric_value t where DATE_FORMAT(t.COLLECT_TIME,'%Y%m') = DATE_FORMAT(now(),'%Y%m')

查询上月

select * from ec_electric_value t where period_diff(date_format(now(),'%Y%m'), date_format(t.COLLECT_TIME,'%Y%m')) = 1

查询去年同月

select * from ec_electric_value t where date_format(t.COLLECT_TIME,'%Y%m') = date_format((now() - INTERVAL 1 YEAR ),'%Y%m')

查询本周

方法名为【yearweek】,需要注意的是该方法默认一周从周日开始算,该方法有两个参数,格式为【yearweek(date,expr1)】,date表示时间字段,expr1则可以指定星期开始于星期几,expr1也可以不填,缺省为0代表星期从星期天开始,1则代表从星期一开始。

select * from ec_electric_value t where YEARWEEK(date_format(t.COLLECT_TIME,'%Y-%m-%d'),1) = YEARWEEK(now(),1)

查询上周

select * from ec_electric_value t where YEARWEEK(date_format(t.COLLECT_TIME,'%Y-%m-%d'),1) = YEARWEEK(now(),1)-1

查询上一年同周

select * from ec_electric_value t where YEARWEEK(date_format(t.COLLECT_TIME,'%Y-%m-%d'),1) = YEARWEEK(date_sub(now(),interval 1 year),1)

查询当天

select * from ec_electric_value t where to_days(t.COLLECT_TIME) = to_days(now())

查询昨天

select * from ec_electric_value t where to_days(now()) - to_days(t.COLLECT_TIME) = 1

查询上一年今天

select * from ec_electric_value t where to_days(t.COLLECT_TIME) = to_days(date_sub(now(),interval 1 year))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值