使用Oracle的存储过程计算字符串算术表达式

 我来答
匿名用户
推荐于2017-11-25
展开全部
CREATE OR REPLACE FUNCTION Compute( p_In_str varchar)
RETURN NUMBER
IS
  v_RESULT NUMBER;
  v_sql varchar(100);
BEGIN  
  -- 拼动态 SQL.
  v_Sql := 'SELECT ' || p_In_str || ' FROM dual';
  -- 执行动态 SQL, 并将结谨码尘果存储到变量中.
  EXECUTE IMMEDIATE ( v_Sql )   INTO v_RESULT ;
  -- 返回.
  RETURN v_RESULT;
END Compute;
/


SQL> SELECT 
  2    Compute('2+2') A,
  3    Compute('2-2') B,
  4    Compute('2*2') C,
  5    Compute('2/2') D
  6  FROM
  7    dual;

         A          B          C          D
---------- ---------- ---------- ----------
         4          0          4          1

 
 
SQL> SELECT 
  2    Compute('2.5 + 2.5') 模闹A,
  3    Compute('2.5 - 2') B,
  4    Compute('2.5 * 2.5') C,
  5    Compute('2.5/2') D
  6  FROM
  祥禅7    dual;

         A          B          C          D
---------- ---------- ---------- ----------
         5         .5       6.25       1.25



是要上面这种效果么?

追问
我用的是oracle唉,这个我试了一下都不行
追答

上面就是我在 Oracle 下面测试的代码啊。

创建一个 函数。

然后调用函数啊。





你是没有创建函数?

信春哥_不挂科_
2013-07-09 · 超过21用户采纳过TA的回答
知道答主
回答量:51
采纳率:0%
帮助的人:56.2万
展开全部
你想实现什么功能,计算什么?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-07-09 · TA获得超过227个赞
知道答主
回答量:45
采纳率:100%
帮助的人:35.9万
展开全部
说清楚点,是计算字符串的个数还是?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式