问题是这样的:
 SET SSQL:='SELECT * FROM TABLENAME WHERE USERNAME LIKE '||VARS||'%';
这样得到的是SELECT * FROM TABLEBNAME WHERE USERNAME LIKE ZHANG%;
我先把ZHANG%的左右加上小引号,该怎么加啊?
试过好几个方式了,还是解决不了啊。

解决方案 »

  1.   

    用:
    'SELECT * FROM TABLENAME WHERE USERNAME LIKE '''||VARS||'%'''
    如果是10g,最方便的用
    q'[SELECT * FROM TABLENAME WHERE USERNAME LIKE ']'||VARS||q'[%']'
      

  2.   

     q'[SELECT * FROM TABLENAME WHERE USERNAME LIKE ']'||VARS||q'[%']' 
    这个我看懂了,上面那个我不明白的是为什么连续用三个小引号呢?
      

  3.   

    在两个单引号中,两个连续的单引可表示一个单引号做为返回值,如
    SELECT '''' FROM DUAL;
    返回'SELECT 'A''B' FROM DUAL;
    返回A'BSELECT 'AB''' FROM DUAL;
    返回
    AB'