关于两个日期间隔工作日的oracle sql实现
2010-09-20 16:04
369 查看
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代码对于这一功能的实现我也写在了相应的分类里 大家可以看一下
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代码对于这一功能的实现我也写在了相应的分类里 大家可以看一下
相关文章推荐
- oracle中用SQL实现两个日期间的日期形成一个数据集
- ORACLE判断两个日期间隔几个工作日
- Oracle 计算两个日期间隔的天数、月数和年数
- oracle sql中的“+”加号 以及实现将两个字段的值合并更新至另一字段的sql
- Oracle 计算两个日期间隔的天数、月数和年数
- 利用joda(强大的Java日期操作组件)实现获取两个日期间隔
- Oracle 两个日期之间的时间间隔
- SQL计算实际工作日(天)及两个时间(工作日)间隔(小时)!
- SQL语句计算两个日期之间有多少个工作日的方法
- sql如何计算两个日期间的工作日,剔除节假日
- 关于同一条记录在两个日期之间填补数据的sql
- 求两个日期之间间隔的天数,Python实现
- Oracle中几个关于日期方面的SQL实例
- Oracle 两个日期之间的时间间隔
- Oracle中几个关于日期方面的SQL实例
- 求两个日期之间间隔的天数,Python实现
- Oracle常用函数:DateDiff() 返回两个日期之间的时间间隔自定义函数
- sql两个日期间剔除周末的间隔时间
- SQL server和access两种用SQL语句计算两个日期间隔的年、月以及天数
- 实习过程学习(3):计算两个日期间间隔的工作日