不会报错的,出错了可能是因为你的数据库出问题了,另外,&符号在pl/sql语言中表示其后的字符串是个变量,运行时需要手工输入变量的值。

解决方案 »

  1.   

    我是在sql plus的命令行中执行可以吗?
      

  2.   

    oracle中位运算要用函数BitAnd()而不是&符号
      

  3.   

    SQL> select 3&1 from dual;
    输入 1 的值:  1
    原值    1: select 3&1 from dual
    新值    1: select 31 from dual        31
    ----------
            31SQL>
      

  4.   

    08:52:13 jlanzpa817>select bitand(1,2)+0 from dual;BITAND(1,2)+0
    -------------
                0已用时间:  00: 00: 00.00
      

  5.   

    感谢 KingSunSha(弱水三千) 和 jlandzpa(jlandzpa) 的回复。
      

  6.   

    近来这样的问题比较多SQL> select to_number(bitand(1,2)) from dual;TO_NUMBER(BITAND(1,2))
    ----------------------
                         0