当前位置: 首页 > news >正文

有做不锈钢工程的网站2022最新引流推广平台

有做不锈钢工程的网站,2022最新引流推广平台,wordpress ent主题,分发平台SQL编写判断是否为工作日函数编写 最近的自己在写一些功能,遇到了对于工作日的判断,我就看了看sql,来吧!~(最近就是好疲惫) 我们一起看看(针对ORACLE) 1.声明: CREATE OR REPLACE PACKAGE GZYW_2109_1214.PKG_FUN_GETDAY_HDAY AS /** * 通过节假日代码获取指定的日期[查找基…

SQL编写判断是否为工作日函数编写

最近的自己在写一些功能,遇到了对于工作日的判断,我就看了看sql,来吧!~(最近就是好疲惫)

我们一起看看(针对ORACLE)

1.声明:

CREATE OR REPLACE PACKAGE GZYW_2109_1214.PKG_FUN_GETDAY_HDAY AS /**  *  通过节假日代码获取指定的日期[查找基准日期前/后N自然/工作日的日期] * 注:此函数只适用于节假日表中只保存了节假日日期(非工作日记录)的情况 , * 警告:若没有设置范围内的节假日信息,此函数会计算出错误的返回日期 * _Stand_Date 基准日期, * C_MKT_Code 节假日代码, * N_Interval_Day 间隔天数(大于0向后查找,小于0向前查找,等于0返回基准日期), * C_Type 日期类型 'W'工作日,'D'自然日,'DW'自然日递延至工作日 */ Function GETDAY_HDAY(C_HDay_Code varchar2,D_Stand_Date date,N_Interval_Day int,C_Type varchar2) return Date; END PKG_FUN_GETDAY_HDAY;

2.主体

CREATE OR REPLACE PKG_FUN_GETDAY_HDAY AS Function getDay_HDay(C_HDay_Code varchar2, D_Stand_Date date, N_Interval_Day int, C_Type varchar2) return Date as D_Return Date; /*返回的日期*/ D_Start Date; /*区间开始日期*/ D_End Date; /*区间结束日期*/ D_Tmp Date; N_Count int := 1; C_Hday varchar2(20) := C_HDay_Code; begin D_Return := D_Stand_Date; /*判断参数是否合法*/ if (('W' != C_Type) AND ('D' != C_Type) and ('DW' != C_Type)) then return D_Return; else if (('D' = C_Type) or ('DW' = C_Type)) then D_Return := D_Stand_Date + N_Interval_Day; else /*工作日的推算*/ D_Start := D_Stand_Date; D_End := D_Stand_Date + N_Interval_Day; D_Return := D_End; while (true) loop exit when N_Count = 0; begin if (N_Interval_Day >= 1) then select /*+RESULT_CACHE*/ count(*) into N_Count from T_P_BI_HDAY_SUB a where a.C_HDay_Code = C_Hday and a.D_HDay > D_Start and a.D_HDay <= D_End and a.c_Date_Type = 'H' and a.N_Check_State = 1; if (N_Count > 0) then D_Start := D_End; D_End := D_End + N_Count; D_Return := D_End; else exit; /*退出*/ end if; else /*如果是逆序*/ if (D_Start > D_End) then D_Tmp := D_End; D_End := D_Start; D_Start := D_Tmp; end if; select /*+RESULT_CACHE*/ count(*) into N_Count from T_P_BI_HDAY_SUB a where a.C_HDay_Code = C_Hday and a.D_HDay >= D_Start and a.D_HDay < D_End and a.c_Date_Type = 'H' and a.N_Check_State = 1; if (N_Count > 0) then D_End := D_Start; D_Start := D_End - N_Count; D_Return := D_Start; else exit; /*退出*/ end if; end if; end; end loop; end if; if ('DW' = C_Type) and (N_Interval_Day>0) then N_Count:=1; while (true) loop exit when N_Count = 0; select /*+RESULT_CACHE*/ count(*) into N_Count from T_P_BI_HDAY_SUB a where a.C_HDay_Code = C_Hday and a.D_HDay = D_Return and a.c_Date_Type = 'H' and a.N_Check_State = 1; if N_Count!=0 then D_Return:=D_Return+1; end if; end loop; end if; end if; return D_Return; end; END PKG_FUN_GETDAY_HDAY;

3.检验

CN:基准日期(以哪个国家进行注明)

DATE ‘2023-10-08’:你要检验的日期

-1:代表去取前一日日期

‘W’:只取前面‘-1’也就是前一日的工作日

SELECT PKG_FUN_GETDAY_HDAY.GETDAY_HDAY('CN', DATE '2023-10-08', -1, 'W')   AS TEST_DATA  FROM  TEST_TABLE a  WHERE  ROWNUM<2;

运行结果:

在这里插入图片描述

http://www.hengruixuexiao.com/news/56555.html

相关文章:

  • wordpress 打开很慢徐州seo公司
  • 西安网站建设 企业建站网上竞价平台
  • 现在在市场上做网站怎么样百度小说免费阅读
  • 长白山网站学做管理平台汕头seo按天付费
  • wordpress 主机主题seo网站优化培训
  • 福田网站开发成人职业技能培训有哪些项目
  • 网站建设软件哪个最好晨阳seo顾问
  • 简约手机网站源码网站关键词优化公司哪家好
  • 企业网站建设哪里做网站好pageadmin建站系统
  • 为什么打不开建设银行网站a站
  • 手表网站建设策划网络营销企业培训
  • 自己做网站的视频百度关键词优化排名技巧
  • 网站开发 项目章程谷歌chrome官网
  • 户外网站做百度开放平台
  • 西安手机网站建设公司排名图床外链生成工具
  • 网站建设优化服务精英优秀软文营销案例
  • wordpress管理员怎么进入后台成都网站优化及推广
  • 公众号开发者多次群发网站设计优化
  • 网站的需求软文代写公司
  • 绿茵足球网站建设苏州关键词优化怎样
  • 网站开发程序有哪些聊城seo培训
  • 镇网站制作价格搜关键词网站
  • java做网站访问量并发优化网站软文
  • 菏泽网站建设公司有哪些合肥关键词排名优化
  • 信息系统的网站开发答辩问题缅甸新闻最新消息
  • 浙江网站设计公司电话百度手机下载安装
  • 哈尔滨住房建设发展集团网站html简单网页成品
  • 网站建设手机端管网长春网站建设设计
  • 县市区科普网站建设域名查询ip爱站网
  • 南宁建站方案百度识图查图片