oracle中查询每个月1号的订单,若一号没有订单就查询上一个月的最后一笔定单,这样的语句怎么写啊。

oracle中查询每个月1号的订单,若一号没有订单就查询上一个月的最后一笔定单,这样的语句怎么写啊。请大虾们指教... oracle中查询每个月1号的订单,若一号没有订单就查询上一个月的最后一笔定单,这样的语句怎么写啊。请大虾们指教 展开
 我来答
太平岁年丰9
2013-07-30 · TA获得超过1230个赞
知道小有建树答主
回答量:1017
采纳率:100%
帮助的人:1080万
展开全部
假设有个订单表orders里有个订单时银凯间字段o_time(它带有具体的时间:时宏蚂分秒):
delcare
v_count number;
qry_mon date;
begin
qry_mon := to_date('2013-04-03',''); --要查询的月份
select count(*) into v_count from orders where o_time >= trunc(qry_mon,'mm') and o_time < trunc(qry_mon,'mm')+1; --查询1号00:00:00 到2 号00:00:00之间的订单
if v_count=0 then
--1号没订单,查询上月最后1笔订单
select count(*) into v_count from orders
where rownum=1
and o_time=(select max(o_time) from orders
where o_time >=add_months(trunc(qry_mon,'mm'),-1) --上月1号00:00:00
and o_time<=trunc(qry_mon,'mm')-1/60/60/24 --上月月末23:59:59
--上一句也可以这样 and o_time < trunc(qry_mon,'mm') --查询月的1号蔽搏埋00:00:00
);

。。。
。。。
else
--处理qry_mon这个月一号订单
end if;
end;
/
nilaor
2013-07-29 · TA获得超过903个赞
知道小有建树答主
回答量:537
采纳率:0%
帮助的人:533万
展开全部
不知道你的订单表结构定义是怎样的,查询每个月1号的订单是查询1号的所有订单吗?
追问
是的,查询每月1号产生的所有订单,如果1号没有订单就差上个月的最后一笔记录
是的,查询每月1号产生的所有订单,如果1号没有订单就差上个月的最后一笔记录
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式