SELECT  InfoID,  InfoTitle  FROM  SendInfo  WHERE    InfoTitle  LIKE  '%'||p_InfoTitle||'%';p_InfoTitle传入的字符串不需要加%号。

解决方案 »

  1.   

    学习,like 模糊查询要注意大小写!
      

  2.   

    TO 回复人: bzszp(SongZip) ( ) 
    谢谢了,马上回去试试,好用了,就帖子。
      

  3.   

    "%"+1234+"%" 传给了p_InfoTitle-->这个是有问题,这样:
    "%"+"1234"+"%"--->字符串相加
      

  4.   

    我按你的写了,为什么编译不能通过呢???
    OPEN p_CURSOR FOR
        SELECT InfoID, InfoTitle FROM SendInfo WHERE  InfoTitle Like '%'||p_InfoTitle||'%';
    是不是和InfoTitle 的类型有关系,这个是NVARCHAR2的
      

  5.   

    我用的程序包体写的
    ORACLE是8.17的,内容为
       AS    
     PROCEDURE SelectSearchInfo
      (
        p_CURSOR OUT T_CURSOR,
        p_InfoTitle IN NVARCHAR2,
        p_InfoType IN NUMBER:=NULL,
        p_IfPromulgate IN NCHAR:=NULL
      )
      IS
      BEGIN
        OPEN p_CURSOR FOR
        SELECT InfoID, InfoTitle FROM SendInfo WHERE  InfoTitle Like '%'|| p_InfoTitle || '%'
        AND InfoType=p_InfoType AND IfPromulgate=p_IfPromulgate ORDER BY InfoID DESC; 
        END SelectSearchInfo;
     END Select_Search;
    要是通过的话,下面的状态应该是Valid,但我现在编译的结果是Invalid