近日编写项目时使用Oracle 9i数据库,需要在一张表中保存一个网页地址,其中有个"&"(&)字符,例如:a.aspx?t=a&m=c  在PL/SQL中调试SQL语句时提示“请输入变量m的值”,有个文本框等待输入,如果去除"&"(&)字符则不会出现此种情况,请问大虾们有遇到这种情况的吗?该如何解决呢?可以转义或替换吗?在作为Where查询时如何避免这个问题?

解决方案 »

  1.   

    SQL> CREATE TABLE TT (A VARCHAR2(10));表已创建。SQL> SET DEFINE OFF
    SQL> INSERT INTO TT VALUES('ASDF&BA');已创建 1 行。SQL> COMMIT;提交完成。SQL> SELECT * FROM TT;A
    ----------
    ASDF&BA
      

  2.   

    直接用&的Ascii码(chr(&的Ascii码))
      

  3.   

    也可以这样SQL> SET DEFINE ON
    SQL> INSERT INTO TT VALUES('ASDF' || '&'|| 'BA');已创建 1 行。SQL> COMMIT;提交完成。SQL> SELECT * FROM TT;A
    ----------
    ASDF&BASQL> SELECT * FROM TT WHERE A LIKE '%' || '&' || '%';A
    ----------
    ASDF&BA
      

  4.   

    明白!!cenlmmx(学海无涯苦作舟) 也得组串吧?嘿嘿,那就用直接组串那个了。