Ooracle:计算2个日期相差天数(除节假日周末)
create or replace function count_days_diff(start_time date ,end_time date)
RETURN NUMBER
is
TMP DATE ;
days number ;
begin
if end_time is null
then
return ceil(sysdate-start_time);
end if;
days:= ceil(end_time-start_time);
TMP:= TRUNC(start_time-1);
LOOP
TMP:=TMP+1;
IF TMP> end_time THEN
EXIT;
elsif to_char(TMP,'d') ='7'OR to_char(TMP,'d') ='1' THEN
days:=days-1;
end IF;
END LOOP;
DECLARE
CURSOR date_setting IS
SELECT * FROM JHMR_MRRECEIVESIGNHOLIDAY t
WHERE t.holidaydate>=start_time and t.holidaydate<=end_time;
begin
FOR oneday IN date_setting
LOOP
if (to_char(oneday.HOLIDAYDATE,'d') ='7'or to_char(oneday.HOLIDAYDATE,'d') ='1') and oneday.TYPE=1 then
days:=days+1;
elsif (to_char(oneday.HOLIDAYDATE,'d') !='7'and to_char(oneday.HOLIDAYDATE,'d') !='1'and oneday.TYPE=0) then
days:=days-1;
end if;
end loop;
end;
return days;
end;
------------------------------------------------------------------------------------
-- 新建法定节假日表格
create table JHMR_MRRECEIVESIGNHOLIDAY
(
holidaydate DATE not null,
type NUMBER(1) default 0 not null
)
tablespace TSP_JHEMR
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 16K
next 1M
minextents 1
maxextents unlimited
);
-- Add comments to the table
comment on table JHMR_MRRECEIVESIGNHOLIDAY
is '休息日 、上班日设置 ,如2013.9.24';
-- Add comments to the columns
comment on column JHMR_MRRECEIVESIGNHOLIDAY.type
is '0为休息日,1为上班日。';
-- Create/Recreate primary, unique and foreign key constraints
alter table JHMR_MRRECEIVESIGNHOLIDAY
add constraint PK_JHMR_MRRECEIVESIGNHOLIDAY primary key (HOLIDAYDATE, TYPE)
using index
tablespace TSP_JHEMR
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 2M
next 1M
minextents 1
maxextents unlimited
);
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具