`
abcde5342376
  • 浏览: 34597 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

关于两个日期间隔工作日的oracle sql实现

阅读更多

sysdate是系统时间 xx.dd是从数据库表中取出的时间,执行结果取出所有当前系统时间在5个工作日以后的结果集。

select * from tableName

where

(trunc(sysdate -x.dd) -
((case WHEN (8 - to_number(to_char(x.dd, 'D'))) >
trunc(sysdate - x.dd) + 1 THEN
0
ELSE
trunc((trunc(sysdate - x.dd) -
(8 - to_number(to_char(x.dd, 'D')))) / 7) + 1
END)
+
(case WHEN mod(8 - to_char(x.dd, 'D'), 7) >
trunc(sysdate - x.dd) - 1 THEN
0
ELSE
trunc((trunc(sysdate - x.dd) -
(mod(8 - to_char(x.dd, 'D'), 7) + 1)) / 7) + 1
END))
) >=5

PS:关于java代码对于这一功能的实现我也写在了相应的分类里 大家可以看一下

分享到:
评论

相关推荐

    2020年最新日期oracle+mysql两个版本的SQL(包含节假日、工作日)

    本资源提供的“2020年最新日期oracle+mysql两个版本的SQL”是针对Oracle和MySQL两大主流数据库系统定制的,旨在帮助用户快速获取和操作2020年的所有日期信息,包括节假日和工作日。以下是关于这两个数据库系统以及...

    2023年日历(标记工作日,节假日,调休,周末),计算两个日期相差的工作日天数

    压缩包里有2个文件,用于计算两个日期相差的工作日天数(排除周末和法定节假日): 1、excel表为2023年日历数据,并且备注工作日、周末,调休、节假日类型,可导入数据库。 2、SQL文件为2023年所有日期的插入SQL,并...

    oracle 求取2个时间间隔的年月日

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Oracle数据库中计算两个日期之间的...以上就是关于在Oracle数据库中计算两个日期之间年、月、日间隔的方法介绍。希望对大家有所帮助!

    计算2个日期相差天数、去除节假日周末

    在编程领域,尤其是在数据分析、日程管理或者时间序列分析中,计算两个日期之间的差异并考虑工作日排除节假日和周末是一项常见的任务。C++作为一种强大的系统级编程语言,提供了丰富的库来处理日期和时间操作。本篇...

    oracle处理日期大全

    在Oracle中,`TO_DATE`和`TO_CHAR`是非常重要的两个函数,用于日期格式的转换。 - **TO_DATE**: 将字符串转换为日期类型。例如: ```sql SELECT TO_DATE('2002-08-26', 'YYYY-MM-DD') FROM DUAL; ``` 这条SQL...

    oracle关于日期时间

    在Oracle中,可以通过简单的算术运算来实现日期的加减操作。例如,要计算两个日期之间的差值(以天为单位),可以使用如下方法: ```sql SELECT (TO_DATE('2023-03-15', 'YYYY-MM-DD') - TO_DATE('2023-03-10', '...

    oracle关于日期的查询语句

    本篇将深入探讨Oracle关于日期的查询语句及其相关知识点。 1. 数据类型: Oracle提供了多种日期和时间数据类型,包括DATE、TIMESTAMP、TIMESTAMP WITH TIME ZONE以及TIMESTAMP WITH LOCAL TIME ZONE。其中,DATE...

    oracle日期处理函数大全

    8. **计算工作日**:如果需要排除特定天数,如周末,可以使用`ROWNUM`和`NOT IN`结合`TO_CHAR`和`D`格式元素来实现。例如,查询2002年2月28日至2月1日之间非周末的天数。 9. **性能优化**:在需要比较大量日期时,...

    oracle 日期的处理大全

    8. **计算月份间隔**:`MONTHS_BETWEEN`函数用于计算两个日期之间的整月数,例如`SELECT months_between(to_date('01-31-1999','MM-DD-YYYY'), to_date('12-31-1998','MM-DD-YYYY')) "MONTHS"`将返回11,因为这两个...

    oracle日期函数全面总结

    3. **MONTHS_BETWEEN(date1, date2)**: 计算两个日期之间的月份数,考虑到了日历中的天数差异。返回值可能为浮点数,表示精确到天的差值。 ```sql SELECT MONTHS_BETWEEN('2022-01-01', '2022-12-31') FROM DUAL; ...

    Oracle日期之二

    在SQL查询和PL/SQL程序中,日期处理是常见的任务,例如计算日期间隔、获取当前日期、格式化日期显示等。Oracle提供了多种内置函数和操作符来处理日期,使得这些任务变得简单。 1. **日期数据类型** Oracle中的日期...

    SQL中常用的的时间跟日期函数

    在SQL(结构化查询语言)中,时间与日期函数是处理日期和时间...在实际工作中,可以根据不同的SQL方言(如MySQL、SQL Server、Oracle等)进行相应的调整,因为不同的数据库系统可能会提供一些特有的日期和时间函数。

    Oracle日期函数大全.pdf

    - `FLOOR` 和 `CEIL` 函数可以用于获取两个日期之间的整数天数,如示例所示: ```sql SELECT FLOOR(date1 - date2) AS days_diff FROM table; ``` 9. **日期时间函数**: - `ADD_MONTHS` 添加或减去指定月份数...

    sql高级进阶

    - 日期间隔之日、月、年:计算两个日期之间的日期差。 - 确定两个日期之间的工作天数目:使用数据库函数排除周末和节假日。 - 计算一年中周内各日期的次数:统计一年中各周内某天的出现频率。 - 确定当前记录和...

    Oracle日期时间用法.docx

    Oracle数据库在处理日期和时间方面提供了丰富的函数和操作,这些功能使得在SQL查询中进行日期时间计算变得简单而高效。以下是一些Oracle日期时间用法的详细解释: 1. **Sysdate**: `sysdate` 函数返回当前系统日期...

    oracle的日期函數

    - **功能描述**:`Months_between`函数计算两个日期之间的月份数。 - **使用示例**: ```sql SELECT MONTHS_BETWEEN(SYSDATE, TO_DATE('2005-11-12', 'YYYY-MM-DD')) FROM DUAL; ``` - **应用场景**:常用于计算...

    Oracle日期函数

    Oracle数据库系统提供了丰富的日期函数,用于处理和操作日期时间数据。...例如,计算两个日期之间的差值、查找特定日期范围内的记录等。希望这些介绍能为你在Oracle数据库工作中处理日期问题提供帮助。

    Oracle 日期时间函数的用法.docx

    在计算日期间隔时,可以使用`FLOOR`函数来获取两个日期之间的整数差,如: ```sql SELECT FLOOR(SYSDATE - TO_DATE('20020405', 'yyyymmdd')) FROM dual; ``` 在查询非工作日(例如,排除周末)的天数时,可以结合...

    oracle中基本函数

    `Next_day` 函数用于获取下一个指定工作日的日期。 ```sql SELECT NEXT_DAY(SYSDATE, '星期一') FROM dual; ``` 此查询返回当前日期之后的第一个星期一。 以上介绍了 Oracle 中常用的字符函数、数值函数以及日期...

Global site tag (gtag.js) - Google Analytics