我现在查询的语句如下:
select a+b c,m+n x,a+b+m+n y from table
可是如果把,改成||^||,如下:
select a+b c||^||m+n x||^||a+b+m+n y from table
就会报错。想问下这种问题如何解决?

解决方案 »

  1.   

    离谱,,不是这样写的. 这么简单的也要问?试验几次就知道如何写了.
    select c||'^'||a  from ...
    如果希望计算,,那么也不是这样来处理的..希望计算a^b,则应该使用函数power
    select a+b c||^||m+n x||^||a+b+m+n y from table 修改为
    select a+b,power(c,m)+n ,power(x,a)+b+m+n y from table.
      

  2.   

    应该是这样:
    select a+b c,m+n x,a+b+m+n y from table
    可是如果把,改成||'^'||,如下:
    select a+b c||'^'||m+n x||'^'||a+b+m+n y from table
    就会报错。想问下这种问题如何解决?
      

  3.   

    select 2||'^'||3||'='||power(2,3) from dual
    /
    结果:
    2||'^
    -----
    2^3=8
      

  4.   

    select a+b c||'^'||m+n x||'^'||a+b+m+n y from table
    ----------------------------------
    这里面的c,x,y等于是别名了,你最后的计算实际只返回一列吧?而且还有个运算符先后问题。试试:select a+b||'^'||(m+n)||'^'||(a+b+m+n) from table