如何获取最后一个星期一至今天的日期? [英] How to get dates which are between last monday till current day?

查看:134
本文介绍了如何获取最后一个星期一至今天的日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的数据库中有日期。



我的数据库位于MySQL。



我想从我的数据库中获取日期,



如何做?

解决方案

你首先必须使用 DAYOFWEEK 函数在上个星期前几天之前的工作,然后从当前日期减去 -

  SELECT * from table 
WHERE date> = DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE()) - 2,7)DAY)
AND date< = DATE_ADD(CURDATE(),INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1),7)DAY)

我不是100%肯定这里的+/-数字,你应该可以从这个工作,虽然



编辑:如果这只会在期间的星期日才能运行,那么有一个简单的版本 -

  SELECT * from table 
WHERE date> = DATE_SUB(CURDATE(),INTERVAL 6 DAY)
AND日期< = CURDATE()


I am having dates in my database.

My database is in MySQL.

I want to fetch dates from my database which provides me dates from last monday till current day.

How can I do that?

解决方案

You first have to work out how many days ago last monday was, using the DAYOFWEEK function, then subtract that from the current date -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(),INTERVAL MOD(DAYOFWEEK(CURDATE())-2,7) DAY)
AND   date <= DATE_ADD(CURDATE(), INTERVAL MOD(7 - (DAYOFWEEK(CURDATE()) - 1), 7) DAY)

I'm not 100% sure about the +/- numbers here, you should be able to work it out from this though

EDIT: If this will only ever be run on the sunday at the end of the period, there is a much simpler version -

SELECT * from table
WHERE date >= DATE_SUB(CURDATE(), INTERVAL 6 DAY)
AND   date <= CURDATE()

这篇关于如何获取最后一个星期一至今天的日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆