壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2828|回复: 6

求教一个函数

[复制链接]
发表于 2005/4/28 00:17:52 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
想实现的目的是:

y是一个常数

当x为空或者0时,a为空

当x不为空和0时,a为y/x

如何用一个函数,把a和x的关系表达出来,谢谢
发表于 2005/4/28 00:34:28 | 显示全部楼层
-- Author  : Wanjun Hu
function getAByX(p_x number,p_y number) return number is
    resutl number;
    begin
   if p_x is null or p_x=0 then
   result:=null;
   else
      begin
      result:=p_y/p_x;
      exception when others then
      result:=null;
      end;
    end if;
   
    return result;
      
end getAByX;
 楼主| 发表于 2005/4/28 08:16:09 | 显示全部楼层
不好意思,可能我表达错了,我是说能不能用一条语句,类似于:a:=nvl(x,0)
发表于 2005/4/28 15:21:15 | 显示全部楼层
SELECT decode(nvl(x,0),NULL,y/x) a
  INTO a
  FROM dual
发表于 2012/7/5 08:26:05 | 显示全部楼层
{:soso_e103:}
发表于 2012/7/5 09:44:14 | 显示全部楼层
像四海兄给的一样,可以写成一个函数来调用,其实也不错的
发表于 2012/7/5 11:23:13 | 显示全部楼层
ryan 发表于 2005/4/28 15:21
SELECT decode(nvl(x,0),NULL,y/x) a
  INTO a
  FROM dual

少一个0吧?
DECODE(NVL(x, 0), 0, NULL, y/x)

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

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/29 13:07 , Processed in 0.018978 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表