ORALCE PLSQL 如何循环插入数据并判断时间
想要实现一个功能,根据一个时间段比如6月1号到6月10号如果6月1号是工作日(周1到周5)则插入一个标记A否则插入标记B最后想要实现如果开始时间为6月1号是周2的话结束日...
想要实现一个功能,根据一个时间段 比如6月1号到6月10号 如果6月1号是工作日(周1到周5)则插入一个标记A 否则插入标记B
最后想要实现 如果开始时间为6月1号是周2的话 结束日期为6月10号 则表里得到结果 从1号到10号 A A A A B B A A A A
请问有什么好的方法 展开
最后想要实现 如果开始时间为6月1号是周2的话 结束日期为6月10号 则表里得到结果 从1号到10号 A A A A B B A A A A
请问有什么好的方法 展开
3个回答
展开全部
思路:
使用日期函数取出星期几,和几号
写个循环存储几号的变量<10,在循环里面判断是星期几,得到ah或b然后赋给字符串变量,注意要不断的连接。
使用日期函数取出星期几,和几号
写个循环存储几号的变量<10,在循环里面判断是星期几,得到ah或b然后赋给字符串变量,注意要不断的连接。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create
or
replace
procedure
aa
(V_DATE
in
DATE,
V_DATE1
in
DATE,
V_SHUCHU
OUT
VARCHAR2)
is
V_A
VARCHAR2(12);
V_b
VARCHAR2(120);
V_DATE2
DATE;
begin
V_DATE2:=V_DATE;
while
V_DATE2<=V_DATE1
loop
select
DECODE(TO_CHAR(V_DATE2,'day'),'星期六','B','星期日','B','A')
INTO
V_A
from
dual;
V_b:=V_b||'
'||V_A;
V_DATE2:=V_DATE2+1;
END
LOOP;
V_SHUCHU:=ltrim(V_b,'
');
end;
or
replace
procedure
aa
(V_DATE
in
DATE,
V_DATE1
in
DATE,
V_SHUCHU
OUT
VARCHAR2)
is
V_A
VARCHAR2(12);
V_b
VARCHAR2(120);
V_DATE2
DATE;
begin
V_DATE2:=V_DATE;
while
V_DATE2<=V_DATE1
loop
select
DECODE(TO_CHAR(V_DATE2,'day'),'星期六','B','星期日','B','A')
INTO
V_A
from
dual;
V_b:=V_b||'
'||V_A;
V_DATE2:=V_DATE2+1;
END
LOOP;
V_SHUCHU:=ltrim(V_b,'
');
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
create or replace procedure aa (V_DATE in DATE,
V_DATE1 in DATE,
V_SHUCHU OUT VARCHAR2)
is
V_A VARCHAR2(12);
V_b VARCHAR2(120);
V_DATE2 DATE;
begin
V_DATE2:=V_DATE;
while V_DATE2<=V_DATE1 loop
select DECODE(TO_CHAR(V_DATE2,'day'),'星期六','B','星期日','B','A')
INTO V_A
from dual;
V_b:=V_b||' '||V_A;
V_DATE2:=V_DATE2+1;
END LOOP;
V_SHUCHU:=ltrim(V_b,' ');
end;
V_DATE1 in DATE,
V_SHUCHU OUT VARCHAR2)
is
V_A VARCHAR2(12);
V_b VARCHAR2(120);
V_DATE2 DATE;
begin
V_DATE2:=V_DATE;
while V_DATE2<=V_DATE1 loop
select DECODE(TO_CHAR(V_DATE2,'day'),'星期六','B','星期日','B','A')
INTO V_A
from dual;
V_b:=V_b||' '||V_A;
V_DATE2:=V_DATE2+1;
END LOOP;
V_SHUCHU:=ltrim(V_b,' ');
end;
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询