楼主: yonggangma

请教有关DECODE的问题

[复制链接]
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
11#
 楼主| 发表于 2002-3-1 16:40 | 只看该作者

可以了,谢谢版主

版主的这条语句执行后是对的:
select * from tabname
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');

使用道具 举报

回复
论坛徽章:
28
ITPUB元老
日期:2005-02-28 12:57:00ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58版主1段
日期:2012-05-15 15:24:11管理团队成员
日期:2013-05-02 11:18:36马上有车
日期:2014-02-19 11:55:14
12#
发表于 2002-2-27 21:54 | 只看该作者

WHERE rownum = 1 !!

WHERE rownum = 1
将影响排序,也就是因为这个子句,将使得排序失效!!

使用道具 举报

回复
论坛徽章:
28
ITPUB元老
日期:2005-02-28 12:57:00ITPUB十周年纪念徽章
日期:2011-11-01 16:19:412012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58版主1段
日期:2012-05-15 15:24:11管理团队成员
日期:2013-05-02 11:18:36马上有车
日期:2014-02-19 11:55:14
13#
发表于 2002-2-27 22:04 | 只看该作者

你试一下!!看结果是否正确!!?

SELECT amount
      INTO exist_qty
  FROM
   (select *
     from temp_table
     order by
         decode(mode,'FIFO', date asc,'LIFO',date desc))  t
WHERE rownum = 1

使用道具 举报

回复
论坛徽章:
168
马上加薪
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-01-04 11:49:54蜘蛛蛋
日期:2011-12-05 16:08:56ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41设计板块每日发贴之星
日期:2011-07-22 01:01:02ITPUB官方微博粉丝徽章
日期:2011-06-30 12:30:16管理团队成员
日期:2011-05-07 01:45:082011新春纪念徽章
日期:2011-01-25 15:42:562011新春纪念徽章
日期:2011-01-25 15:42:33
14#
发表于 2002-2-28 20:31 | 只看该作者
跟decode(mode,'FIFO', 'date asc','LIFO',date desc')一个样,因为mode就只有FIFO和LIFO两种

使用道具 举报

回复
论坛徽章:
0
15#
发表于 2002-3-20 00:13 | 只看该作者
Oracle 9i已经支持 Case了,是不是有帮助?

使用道具 举报

回复
论坛徽章:
1
授权会员
日期:2005-10-30 17:05:33
16#
发表于 2002-3-20 06:51 | 只看该作者
楼上的case怎么实现多条件?

使用道具 举报

回复
论坛徽章:
14
祖国60周年纪念徽章
日期:2009-10-09 08:28:00Jeep
日期:2013-08-01 11:08:58夏利
日期:2013-08-01 10:05:07蜘蛛蛋
日期:2013-03-05 15:54:402013年新春福章
日期:2013-02-25 14:51:24蜘蛛蛋
日期:2012-10-31 11:14:06奥运会纪念徽章:游泳
日期:2012-09-14 17:16:29奥运会纪念徽章:足球
日期:2012-06-19 14:01:59复活蛋
日期:2012-05-08 14:13:44ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
17#
发表于 2002-3-20 20:40 | 只看该作者
select * from tabname
order by decode(mode,'FIFO',1,-1)*to_char(rq,'yyyymmddhh24miss');
好巧妙的方法

使用道具 举报

回复
论坛徽章:
25
ITPUB元老
日期:2005-02-28 12:57:00管理团队成员
日期:2011-05-07 01:45:082012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14
18#
发表于 2002-3-21 01:31 | 只看该作者

8i就支持case了

不过这里的问题是desc不能作为字符串排序, 它在命令行是倒序但变成字符串意义就变化了

所以想让日期排序变化就让它转化一下即可

select * from tabname
order by decode(mode,'FIFO',rq-sysdate, sysdate-rq)
/

使用道具 举报

回复
论坛徽章:
63
版主7段
日期:2012-05-15 15:24:11itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-08 15:16:50itpub13周年纪念徽章
日期:2014-10-10 14:34:59马上加薪
日期:2015-01-08 15:39:192015年新春福章
日期:2015-03-04 14:19:112015年新春福章
日期:2015-03-06 11:57:31
19#
发表于 2002-3-21 03:19 | 只看该作者

Re: 8i就支持case了

解法很妙!
最初由 easyfree 发布
[B]不过这里的问题是desc不能作为字符串排序, 它在命令行是倒序但变成字符串意义就变化了

所以想让日期排序变化就让它转化一下即可

select * from tabname
order by decode(mode,'FIFO',rq-sysdate, sysdate-rq)
/ [/B]

使用道具 举报

回复
论坛徽章:
86
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-01-04 11:49:542012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:202012新春纪念徽章
日期:2012-02-13 15:13:20咸鸭蛋
日期:2012-05-08 10:27:19版主8段
日期:2012-05-15 15:24:112013年新春福章
日期:2013-02-25 14:51:24
20#
发表于 2002-3-21 03:35 | 只看该作者

如果不是日期或者数字

是字符串怎解?
呵呵

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表