oracle几个工作日的函数
时间: 2023-12-30 12:05:56 浏览: 126
在Oracle中,可以使用自定义函数来计算两个日期之间的工作日数量。根据引用的内容,可以定义一个名为F_GETWORKDAY的函数,其输入参数为起始日期(BDATE_)和结束日期(EDATE_),返回值为工作日数量(NUMBER类型)。具体实现如下:
```sql
CREATE OR REPLACE FUNCTION F_GETWORKDAY(BDATE_ IN DATE, EDATE_ IN DATE) RETURN NUMBER AS
CURSOR holiday_cursor IS SELECT sdate FROM holiday_record;
unworkdays NUMBER := 0;
BEGIN
FOR holiday_record IN holiday_cursor LOOP
IF holiday_record.sdate >= BDATE_ AND holiday_record.sdate <= EDATE_ THEN
unworkdays := unworkdays + 1;
END IF;
END LOOP;
RETURN (EDATE_ - BDATE_ + 1) - unworkdays;
END;
```
通过上述自定义函数F_GETWORKDAY,你可以传入起始日期和结束日期,以获取这段时间内的工作日数量。注意,该函数假定节假日信息存储在名为holiday_record的表中(参考引用),并且表中的日期字段为sdate(参考引用)。请根据实际情况进行相应调整。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [oracle 一段时间内有几个工作日(天数)](https://blog.csdn.net/weixin_32271623/article/details/116316311)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]
阅读全文