如何使用MySQL获取最后一个星期日和最后一个星期日?

时间:2019-06-04 14:10:59

标签: mysql date weekday

我正在尝试获取上一个星期日的日期和之前的星期日。

例如:

Today (Tuesday) is '20190604'  
@Last_Sunday = '20190602'  
@Sunday_B4_Last = '20190526'  

我知道如何将日期转换为ISO格式,但是我不知道如何显示日期。

我找到了相同问题的答案,但使用其他语言(如PostgreSQL和JS)却没有找到MySQL的答案。

我在网上找到了一些功能非常相似的代码,但是它显示星期五,而在此之前我无法显示它。

代码如下:

select now() - interval (weekday( now())+ 2)% 7+ 1 day 'Previous Friday';

我将不胜感激,特别是那些解释如何操作上面的公式或给出期望结果的其他公式的答案。

2 个答案:

答案 0 :(得分:1)

一个选项:

SELECT
  `dates`.`date` - INTERVAL WEEKDAY(`dates`.`date`) % 7 + 1 DAY `Last`,
  `dates`.`date` - INTERVAL WEEKDAY(`dates`.`date`) % 7 + 8 DAY `Previous`
FROM (
  SELECT '2019-06-04' `date`
) `dates`;

请参见dbfiddle

答案 1 :(得分:0)

我找到了要使用的答案:

assertNotPushedOn

(然后我可以“选择”变量)