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
请问有什么好的方法
展开
 我来答
快乐编程教育
2010-05-28 · 专业IT知识分享,编程技巧分享
快乐编程教育
采纳数:342 获赞数:812

向TA提问 私信TA
展开全部
思路:
使用日期函数取出星期几,和几号
写个循环存储几号的变量<10,在循环里面判断是星期几,得到ah或b然后赋给字符串变量,注意要不断的连接。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
巧略端木语柳
2019-11-16 · TA获得超过3879个赞
知道小有建树答主
回答量:3103
采纳率:27%
帮助的人:226万
展开全部
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;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
liuzongsha
2010-05-28 · TA获得超过1609个赞
知道小有建树答主
回答量:1148
采纳率:0%
帮助的人:542万
展开全部
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;
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式