在下使用pl/sql developer从远程服务器上获取信息。
今天遇到一个麻烦,无法输出&号
语句如下:
decode(sum(a.band),1,900,2,1800,3,'900&1800')
请问如何正常输出“900&1800”?

解决方案 »

  1.   

    decode(sum(a.band),1,900,2,1800,3,'900&&1800')
      

  2.   

    & 是转义符号
    要想输出需要多加个&
      

  3.   

    有两种做法:
    (1)decode(sum(a.band),1,'900',2,'1800',3,'900'||char(38)||'1800')
    (2)sql>set define off;
        decode(sum(a.band),1,'900',2,'1800',3,'900&1800')
    需要指出的是:LZ所提供的“decode(sum(a.band),1,900,2,1800,3,'900&1800')”  由于返回值数据类型不同,所以测试时会报错。
      

  4.   


      有个小错误  &在chr中是38  不是char. 一般在要输出特殊符号的时候  大多可以考虑使用chr函数来输入 这样不用考虑到转译或者报错..
      

  5.   

    不好意思,搞错了,第一种做法应该为:decode(sum(a.band),1,'900',2,'1800',3,'900'||chr(38)||'1800')char(38)应该改为:chr(38)
      

  6.   

    '900&1800'这样是不行的,按楼上几位的900&&1800测试成功。感谢大家