php - mysql查询获取2个日期之间的第一个特定日期

标签 php mysql

如何获得两个日期之间的第一个星期日? 我的表中只有 2 个字段(dt_from 和 dt_to)

dt_from = '2016-08-6';
dt_to = '2016-08-19';

SELECT firstsunday FROM myTable BETWEEN dt_from AND dt_to;

最佳答案

获取日期本身之后的第一个星期日怎么样?

SELECT DATE_ADD(A.date_from, INTERVAL (6 - WEEKDAY(A.date_from)) DAY) from myTable as A;

http://sqlfiddle.com/#!9/7fce5

如果星期日不在日期之间:

SELECT DATE_ADD(A.date_from, INTERVAL (6 - WEEKDAY(A.date_from)) DAY) as firstsunday from myTable as A where DATE_ADD(A.date_from, INTERVAL (6 - WEEKDAY(A.date_from)) DAY) between A.date_from and A.date_to;

http://sqlfiddle.com/#!9/83d0f0/4

稍微短一点:

SELECT firstsunday from (SELECT A.date_from, A.date_to, DATE_ADD(A.date_from, INTERVAL (6 - WEEKDAY(A.date_from)) DAY) as firstsunday from myTable as A) as B where B.firstsunday between B.date_from and B.date_to;

http://sqlfiddle.com/#!9/6adab3/1

关于php - mysql查询获取2个日期之间的第一个特定日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38939171/

相关文章:

php - 在 PHP 中获取包含在字符串中的结果?

php - CodeIgniter 查询获取位置

php - 条件排序依据 to 基于两列,但有一些限制

php - 如何使用 php 从日期时间字符串中分离日期和时间?

php - 如何从多个mysql表中获取数据并生成一个JSON输出

php - CakePHP - 从 find() 方法中的 JOIN 中排除模型

mysql - 按 "rep"订购帖子,但仅限 "one"天限制

php - 使用 PHP 进行 Xpath 查询(取两个值)

mysql - 在 SQL 语句中生成唯一的 CHAR(8) 随机值

Java Servlet MySQL 未知表名