所以,假设当前日期是2022-03-04 10:45:26
,我想让一个查询重新调整2022-02-27 00:00:00
之后的每个条目。
我找到了SUBDATE(eventDate, WEEKDAY(eventDate))
,但这还不够精确。
换句话说,这就是我正在寻找的查询
SELECT *
FROM ts_punch_events
WHERE eventDate > "2022-02-27 00:00:00";
但是使用参数(如NOW()
或用户定义的参数(来过滤结果。
换句话说,我正在寻找一种方法;函数";返回此
fn("2022-03-04 10:45:26"); -> "2022-02-26 00:00:00"
fn("2022-01-07 09:38:43"); -> "2022-01-02 00:00:00"
fn(NOW()) -> ... first day of the week at 00:00:00
JavaScript中的等效项是startOfWeek。
// The start of a week for 2 September 2014 11:55:00:
const result = startOfWeek(new Date(2014, 8, 2, 11, 55, 0))
//=> Sun Aug 31 2014 00:00:00
SELECT DATE(eventDate - INTERVAL (WEEKDAY(eventDate) + 1) MOD 7 DAY) AS week_start
FROM datatable
https://dbfiddle.uk/?rdbms=mysql_8.0&fiddle=f3ede945ed02693b47d5f9fb2018ea6e