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

千博企业网站湛江互联网公司

千博企业网站,湛江互联网公司,石家庄网站建设价格低,建设企业银行怎么转账前置条件:需要维护一张节假日日期表。例如创建holiday表保存当年假期日期 CREATE TABLE holiday (id BIGINT(10) ZEROFILL NOT NULL DEFAULT 0,day TIMESTAMP NULL DEFAULT NULL,PRIMARY KEY (id) ) COMMENT假期表 COLLATEutf8mb4_0900_ai_ci ;返回日期为xx日xx时x…

前置条件:需要维护一张节假日日期表。例如创建holiday表保存当年假期日期

CREATE TABLE `holiday` (`id` BIGINT(10) ZEROFILL NOT NULL DEFAULT 0,`day` TIMESTAMP NULL DEFAULT NULL,PRIMARY KEY (`id`)
)
COMMENT='假期表'
COLLATE='utf8mb4_0900_ai_ci'
;

返回日期为xx日xx时xx分格式,可以在此基础上调整格式

-- FUNCTION: public.get_timedelay(timestamp with time zone, timestamp with time zone)-- DROP FUNCTION IF EXISTS public.get_timedelay(timestamp with time zone, timestamp with time zone);CREATE OR REPLACE FUNCTION public.get_timedelay(starttime timestamp with time zone,endtime timestamp with time zone)RETURNS textLANGUAGE 'plpgsql'COST 100VOLATILE PARALLEL UNSAFE
AS $BODY$
DECLAREv_return  varchar;--返回间隔时间 xx日xx时xx分v_minute  integer;--间隔分钟v_hour integer;v_temp_minute integer;v_temp_hour integer;v_day integer; --间隔天数v_all numeric;v_counter integer;v_end_weekend integer;v_weekend integer;--周一_周日 1_6_0v_holiday numeric;--匹配节假日天数v_is_weekend boolean; --是否周末v_is_holiday boolean; --是否节假日
BEGIN--计算时间间隔天数select ceil(DATE_PART('epoch', endtime::timestamp - starttime::TIMESTAMP)/60/60/24) into v_all;--减去周末、节假日v_end_weekend := cast(EXTRACT(DOW FROM (endtime)) as int);v_day := 0;v_hour := 0;v_minute := 0;v_counter := 0;while v_counter <= v_all loopv_temp_minute := 0;v_temp_hour  := 0;v_is_weekend := FALSE;v_is_holiday := FALSE;--判断该日期为周几v_weekend := v_end_weekend-v_counter%7;if v_weekend < 0 thenv_weekend := v_weekend + 7;end if;if v_weekend = 6 or v_weekend = 0 thenv_is_weekend := true;end if;--判断该日期是否为节假日--日期表SELECT COUNT(*) FROM holiday WHERE Date(endtime) - DATE(day) - v_counter  = 0 INTO v_holiday;if v_is_weekend = false and v_holiday > 0 thenv_is_holiday := true;end if;--累计时长if v_is_weekend = false AND v_is_holiday = false thenif v_counter = 0  thenv_minute := cast(date_part('minute', endtime::TIMESTAMP) as int);v_hour := cast(date_part('hour', endtime::TIMESTAMP) as int);elseif v_counter = v_all thenv_temp_minute := 60 - cast(date_part('minute', endtime::TIMESTAMP) as int);v_temp_hour := 23 - cast(date_part('hour', endtime::TIMESTAMP) as int);v_minute := (v_minute+v_temp_minute) % 60;v_temp_hour := v_temp_hour+FLOOR((v_minute+v_temp_minute)/60);v_hour := (v_hour+v_temp_hour) % 24;v_day := v_day + FLOOR((v_hour+v_temp_hour) / 24);elsev_day := v_day + 1;end if;end if;v_counter:= v_counter+1;end loop;--处理返回日期v_return := '';--返回日、时、分方案if v_day > 0 thenv_return := concat(v_return, v_day,'日');end if;if v_hour > 0 thenv_return := concat(v_return, v_hour,'时');end if;if v_minute > 0 thenv_return := concat(v_return,v_minute,'分');end if;RETURN v_return;EXCEPTION WHEN OTHERS THENRETURN SQLERRM;END;
$BODY$;ALTER FUNCTION public.get_timedelay(timestamp with time zone, timestamp with time zone)OWNER TO postgres;
http://www.yayakq.cn/news/613298/

相关文章:

  • 网站标题设置赣州网站设计哪里好
  • 鹰潭网站设计有什么可以做兼职的网站吗
  • php网站后台模板服务型网站建设的主题
  • 网站管理与建设试题如何快速做网站关键词
  • 整站优化外包服务网站建设的布局
  • 网站开发技术合作协议书鼓楼做网站公司哪家好
  • 企业网站设计代码dw创建网站导航栏菜单怎么做
  • html5网站导航建立收费网站
  • 大同市建设工程招标投标网站网页设计人员招聘
  • 邯郸哪个公司做网站好枣庄市庄里水库建设管理处网站
  • 网站建设教程书籍建网站费用记技术服务费
  • 汕头汽配网站建设墨刀网页设计详细教程
  • 内蒙和城乡建设部网站wordpress本地utc
  • 如何免费申请自己的网站宁波网站制作怎样
  • 浪漫做爰网站网站站建设
  • 凡科做 淘宝客网站平台公司代理注册
  • 重庆建设集团网站网络软文投放
  • ps做网站头部的图网络服务投诉平台
  • 简述网站建设的流程IT科技资讯新闻类织梦网站模板
  • 交互设计作品集网站合肥做拼拼团网站的公司
  • 有口碑的大良网站建设公司起名生成器
  • 足球网站网站建设建设部网站城市规划资质标准
  • 国外社交网站设计欣赏网站百度不到
  • 深圳营销型网站建设方案服务商装修公司怎么做免费网站
  • 网站开发要什么网站meta标签怎么做
  • 做网站设计需要什么软件wordpress开启多站点
  • 网站添加合适图片字节跳动员工待遇
  • 网站建设需求调研通知住房住房和城乡建设部网站首页
  • 如何查看域名以前是做什么网站的网站推广建设策略
  • php做网站开发有什么框架微网站的案例