php - Mysql日期范围查询只检查日期,不检查月份和年份

标签 php mysql date date-range

我想仅根据当天的日期条件选择记录,而不检查月份和年份。

Table structure 
------------------------------------
id | user_id  | amount | created_on
------------------------------------

如果我选择日期4月15日至4月25日,那么我需要4月15日至4月25日、3月15日至3月25日等之间的记录。

从日期中获取日期并与它进行比较似乎很容易

Select sum(amount) from sales where DATEFORMAT(created_on, %d) >= 15 and DATEFORMAT(created_on, %d) <=25

但是当我选择日期3月28日至4月5日时如何查找记录,那么我需要2月28日至3月5日、1月28日至2月5日的数据..等等

最佳答案

如果您正在使用 php。您可以比较最小和最大日期并更改您的查询,如下所示:

尝试#1:

    $min_date = 15;
    $max_date = 25;

尝试#2:

    $min_date = 28;
    $max_date = 5;

脚本:

    if($min_date < $max_date)
    {
        $query = "Select sum(amount) from sales where DATEFORMAT(created_on, %d) >= $min_date and DATEFORMAT(created_on, %d) <=$max_date";    
    }
    else
    {
        $query = "Select sum(amount) from sales where DATEFORMAT(created_on, %d) >= $min_date OR DATEFORMAT(created_on, %d) <=$max_date"; 
    }

关于php - Mysql日期范围查询只检查日期,不检查月份和年份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43650706/

相关文章:

database - Oracle 中是否有任何隐式日期格式转换?

php - Symfony 控制台 - 未定义常量 STDIN

php - 搜索 id 时从服务器查询响应

php - 订购 while 循环数据

mysql - 使用openshift在mysql数据库上访问被拒绝

php - 使用 Hostgator 连接到 MySql 数据库

r - 在R中将秒转换为年

php - 在 Symfony 路由中使用类常量

php - 从 mysql 表加载的 php 代码不会在输出页面上解释

date - 在 SVN 中为 autoprop 'DATE' 设置日期格式