如何在Oracle SQL中将字符串转换为数学表达式?

Ken*_*n L 1 sql oracle

我正在尝试编写一个Oracle SQL查询,该查询可以采用动态生成的字符串并将其转换为数学表达式,例如:'1*2*1*3*2'将评估为12.

我已经完成了Google搜索,但我能找到的唯一特定于Oracle的示例是需要使用PL/SQL存储函数的示例.这不是我的选择,因为我的组织的生产数据库没有'CREATE'权限.由于我经常需要针对生产数据库对SQL代码进行故障排除,因此我避免在报表开发工具(LogiInfo)中使用存储过程或存储函数.

所以...我希望找到的是某种类型的"内置"函数,我可以直接放入一个SQL语句,它将执行我的开头句中描述的转换和评估.任何指导将不胜感激.

PS我正在使用Oracle 11g

Ren*_*ene 5

如果您可以使用SQLPLus,则可以执行匿名的plsql代码块.

例:

set serveroutput on

declare
   i pls_integer;
begin
   execute immediate 'select 1*2*1*3*2 from dual'
      into i;
   dbms_output.put_line(i);
end;
/
Run Code Online (Sandbox Code Playgroud)