高手同志们,我没奈了,我用SQL语句向数据库中插入带有&符号的字符串时,怎么着都不行,也到网上查了说是在SQLPLUS中用命令“ set define off”然后在插入就可以了,可是在我这不管用啊,高手能不能指点下啊

解决方案 »

  1.   

    1.select 'abc' || chr(38) || 'def' from dual;
    2.select 'abc' || '&' || 'def' from dual;
      

  2.   

    例子如下:
    insert into test(colA) valuse('xxx'||chr(38));
      

  3.   

    insert 的时候用chr(38) 和 '&' 都可以看你想用哪个了
      

  4.   

    SQL> create table tt
      2  (name varchar2(20)
      3  );
     
    Table created
     
    SQL> insert into tt(name) valuse('xxx' ¦ ¦chr(38)); 
     
    insert into tt(name) valuse('xxx' | |chr(38))
     
    ORA-00926: 缺失 VALUES 关键字
     
    SQL> insert into tt(name) values ('xxx' ¦ ¦chr(38));
     
    1 row inserted
     
    SQL> select * from tt;
     
    NAME
    --------------------
    xxx&
     
    SQL> insert into tt(name) values ('xxx' ¦ ¦chr(38)||'xx');
     
    1 row inserted
     
    SQL> select * from tt;
     
    NAME
    --------------------
    xxx&
    xxx&xx
     
    SQL> select * from tt;
     
    NAME
    --------------------
    xxx&
    xxx&xx
     
    SQL> insert into tt(name) values (translate('aaa{&}bb','a{}','a'));
     
    1 row inserted
     
    SQL> commit;
     
    Commit complete
     
    SQL> select * from tt;
     
    NAME
    --------------------
    xxx&
    xxx&xx
    aaa&bb
     
    SQL>