首页 >> 退房须知

如何写时间的详细存储过程的

2021-09-06 来源:开平租房网

如何写时间的详细存储过程?

如何写存储过程,把跨天的日期和时间当天的详细的显示出来,我就简单的举个例子:比如开始日期 8:00,结束日期是 15:00 ,然后我的需求是这样的

日期 开始时间 结束时间 地址

8:00 23:59 台北

00:00 23:59 台北

这些列入全年规划的项目 00:00 23:59 台北

00:00 15:00 台北

CREATE TABLE \"EGIS_ADMIN\".\"NewTable\" (

\"ACTIVITY_ID\" NUMBER(10) NOT NULL ,

\"ACTIVITY_TYPE_ID\" NUMBER(10) ,

\"ASSOCIATE_ID\" NUMBER(10) ,

\"PLAN_SCHEDULE_ID\" NUMBER(10) ,

\"NAME\" VARCHAR2(50 BYTE) ,

\"NUMBER_OF_DONOR\" NUMBER(10) ,

\"PLANNING_VOLUME_OF_BLOOD\" NUMBER(10,2) ,

\"ADDRESS\" VARCHAR2(256 BYTE) ,

\"NEXT_ACTIVITY_DATE\" DATE ,

\"ACTIVITY_START_DATE\" DATE ,

\"ACTIVITY_END_DATE\" DATE ,

PRIMARY KEY(\"ACTIVITY_ID\")

)

create or replace procedure pro_activity (a in varchar2)

is

v_name VARCHAR2(256);

v_sdate VARCHAR2(256);

v_edate VARCHAR2(256);

v_sTime VARCHAR2(256);

v_eTime VARCHAR2(256);

v_addr VARCHAR2(256);

v_count number(10) default 0;

v_number number(2) default 0;

cursor c_act

is select

CONCAT(rstname,ddleName) as fullName,

to_char(tivity_start_date,\'yyyy-mm-dd\') as sdate,

to_char(tivity_end_date,\'yyyy-mm-dd\') as edate,

to_char(tivity_start_date,\'hh24:mi\') as stime,

to_char(tivity_end_date,\'hh24:mi\') as stime,

dress

from activity act

join plan_schedule ps on an_schedule_id = an_schedule_id

join schedule_task_manpower stm on an_schedule_id=hedule_id

join task_manpower tm on hedule_task_manpower_id=hedule_task_manpower_id

join users on er_id=er_id

join plan_schedule_status ps_stauts on rrent_status_id=ps_an_schedule_status_id

where (rrent_status_id=3 or rrent_status_id=4);

begin

OPEN c_act;

LOOP

FETCH c_act INTO v_name,v_sdate,v_edate,v_sTime,v_eTime,v_addr;

v_count:=0;

if(v_edate v_sdate) then

LOOP

if v_count = 0 then

dbms_t_line(\'人员姓名 \'||\'日期 \'||\'开始时间 \'||\'结束时间 \'||\'地址 \');

dbms_t_line(v_name ||v_sdate ||v_sTime|| \'23:59\'|| v_addr);

else

if(v_edate != v_sdate) then

dbms_t_line(\'人员姓名 \'||\'日期 \'||\'开始时间 \'||\'结束时间 \'||\'地址 \');

dbms_t_line(v_name ||v_sdate ||\'00:00\'|| \'23:59\' ||v_addr);

else

dbms_t_line(\'人员姓名 \'||\'日期 \'||\'开始时间 \'||\'结束时间 \'||\'地址 \');

dbms_t_line(v_name ||v_sdate ||\'00:00\'|| v_eTime|| v_addr);

end if;

end if;

EXIT WHEN v_sdate = v_edate;

v_sdate := to_char(to_date(v_sdate,\'yyyy-mm-dd\')+1,\'YYYY-MM-DD\');

v_count := v_count+1;

END LOOP;

else

dbms_t_line(\'人员姓名 \'||\'日期 \'||\'开始时间 \'||\'结束时间 \'||\'地址 \');

dbms_t_line(v_name ||v_sdate ||v_sTime|| v_eTime|| v_addr);

end if;

EXIT WHEN c_act%NOTFOUND;

END LOOP;

close c_act;

end pro_activity ;

石家庄治疗妇科
济南治疗包皮过长医院
术后病人吃什么营养恢复快