mysql - 如何使用MySQL获取最后一个星期日和最后一个星期日之前的星期日?

标签 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';

我将不胜感激任何答案,尤其是那些解释如何操纵上面的公式或任何其他给出所需结果的公式的答案。

最佳答案

一个选项:

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 .

关于mysql - 如何使用MySQL获取最后一个星期日和最后一个星期日之前的星期日?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56445684/

相关文章:

mysql - LIKE mysql查询完整单词

mysql - sql中的数据透视困难

iso8601 中的 swift 4 工作日

excel - 在 COUNTIFS 中使用 WEEKDAY 函数

date - DB2在AS400中使用spring配置日期格式

java - 当前时间/日期事件监听器

MySQL:没有 SUPER 的触发器/分隔符

Java JDBC : Why is it necessary to register out-parameter?

php - 使用 CodeIgniter 以日期格式计算数据库中每月、每年的日期

sql-server - SQL - 如何使用 ISO 周获取年-周?