有个表A,它有一个字段name 
现在我想传一个值var,看name中有没有 例如select * from A where name 'like%d%' ,把这个%d%中的d如何换成变量var呢

解决方案 »

  1.   

    select * from A where name like '%d%';==>select * from A where name like '%''' || var || '''%';
      

  2.   

    楼上的写法没有用绑定变量,只要var的值不同,每次执行都会硬解析此SQL。
    建议改为
    v_sql := select * from A where name like '%''' || :var || '''%';
    EXECUTE v_sql USING var;
      

  3.   

    在存储过程直接用feng2的就OK,给分
      

  4.   

    直接用feng2(蜀山风云)肯定是可以的,但caocaorui(caocao)的方法更好。