【发布时间】:2018-08-02 01:56:24
【问题描述】:
我有下表显示两个日期之间的员工休假天数
+--------------+-----------+-----------+
| EMPLOYEENAME | BEGINDATE | ENDDATE |
+--------------+-----------+-----------+
| John | 06/JUN/18 | 06/JUN/18 |
| Paul | 25/JUN/18 | 06/JUL/18 |
| Jill | 23/APR/18 | 10/AUG/17 |
| Mary | 01/MAR/18 | 20/JUN/18 |
| Mary | 21/JUN/18 | 31/OCT/18 |
+--------------+-----------+-----------+
我想知道员工在特定月份(在本例中为 6 月 18 日)休假了多少天。我期待看到以下结果:
+--------------+--------+-------------+
| EMPLOYEENAME | MONTH | DAYS_ABSENT |
+--------------+--------+-------------+
| John | JUN-18 | 1 |
| Paul | JUN-18 | 5 |
| Jill | JUN-18 | 21 |
| Mary | JUN-18 | 21 |
+--------------+--------+-------------+
更喜欢使用 SQL/PLSQL,但最后可以使用 Python 来做到这一点。
【问题讨论】:
-
您可以在 Oracle 中执行此操作,但我认为您需要使用日历表。另外,您在这里考虑假期吗?
-
我相信这可以帮助你:stackoverflow.com/questions/252519/…
-
自关系数据库早期以来,这个问题已经被问过很多次了。以下是 2000 年 5 月 Tom 的回答(来自甲骨文的著名 Tom):Ask TOM: "Counting the number of business days between 2 dates"
-
因重复而关闭。使用了上面 Ask Tom 的解决方案