php - Mysql CURDATE() 两个日期之间

标签 php mysql date

当当前日期介于 emphiredate(员工雇用日期)加上一年之间时,如何显示结果 查询运行良好。

   SELECT 
        e.empFirst AS employees, e.holidays,
            @year := CEIL(DATEDIFF(h.date, e.empHireDate - interval 1 day)/365) AS Year,
               CONCAT(DATE_ADD(e.empHireDate, INTERVAL @year-1 YEAR),' to ',DATE_ADD(e.empHireDate  - interval 1 day, INTERVAL @year YEAR)) AS jon,
        COUNT(h.date) AS Days,
        SUM(h.hours) AS Hours,
       e.holidays - SUM(h.hours) AS Hours_Left
    FROM employees AS e
    LEFT JOIN holidaydays AS h ON e.empid = h.booking_id
    WHERE e.empid = booking_id and hours !=0
    GROUP BY Year, booking_id

结果:

employees  holidays Year    Date                   Days    Hours  Hours_Left
Jonathan    200      1   2014-10-10 to 2015-10-09   1       8          192
Arthur       0       1   2015-08-02 to 2016-08-01   1       10         -10
Mark        200      1   2014-10-10 to 2015-10-09   1       9          191
Jonathan    200      2   2015-10-10 to 2016-10-09   24      162         38
Jonathan    200      3   2016-10-10 to 2017-10-09    2      19         181
Mark        200      3   2016-10-10 to 2017-10-09    1       8         192

因为今天的日期是 2015-10-14,所以我想要的结果是

employees  holidays Year    Date                   Days    Hours  Hours_Left
Arthur       0       1   2015-08-02 to 2016-08-01   1       10         -10
Jonathan    200      2   2015-10-10 to 2016-10-09   24      162         38

这是因为今天的日期在这两个日期之间,任何人都可以帮忙。

SQL FIDDLE DEMO

最佳答案

and curdate() > DATE_ADD(e.empHireDate, INTERVAL CEIL(DATEDIFF(h.date, e.empHireDate - interval 1 day)/365)-1 YEAR)
and curdate() < DATE_ADD(e.empHireDate  - interval 1 day, INTERVAL CEIL(DATEDIFF(h.date, e.empHireDate - interval 1 day)/365) YEAR)

已编辑:现在应该使用您的动态日期 - 还值得一提的是,您的 SQL Fiddle 架构具有与示例不同的雇佣日期。

关于php - Mysql CURDATE() 两个日期之间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33134190/

相关文章:

php - 使用 AJAX 执行 SQL 查询并在成功执行后重定向

mysql - 一个现实生活中的物体 - 两张代表它的 table ?

mysql - SQL 查询选择最近 15 分钟的数据

mysql - 如何在 MySQL 查询中获取给定月份的第 N 个工作日的日期?

ruby - 为什么日期解析取决于分隔符?

php - 为部分订单开具发票;总数未更新

php - 在 PHP 扩展中从线程使用 emalloc 时出现段错误

php - 在表单中搜索字段,然后对所有选定的结果执行某些操作

mysql - 选择最大值错误

mysql - SQL 查询中的 MAX() 和 `group by` 问题