CREATE PROCEDURE [dbo].[sp_News _Headlines]
 @Caltegoryid varchar ,
 @Ncaltegoryid varchar ,
 @RowsToReturn int
AS
set ROWCOUNT @RowsToReturn
select * from news 
 where  Publisher = 1 and 
        (patIndex('%'+@Caltegoryid+'%',classid)>0 or  
         patIndex('%'+@Caltegoryid+'%',classid)>0) and 
         (patIndex('%'+@Ncaltegoryid+'%',nclassid)>0 or 
          patIndex('%'+@Ncaltegoryid+'%',nclassid)>0)
order by newsid desc
GO

解决方案 »

  1.   

    我想要的查询语句是这样的,比如有这样的一条记录(31,31,32),我想匹配记录中的(31,)或者(,31),怎么写啊?
    xeqtr1982(HaN) 你再给回复阿!
      

  2.   

    CREATE PROCEDURE [dbo].[sp_News _Headlines]
     @Caltegoryid varchar(10),
     @Ncaltegoryid varchar(10),
     @RowsToReturn int
    AS
    set ROWCOUNT @RowsToReturn
    select * from news 
     where  Publisher = 1 and 
            (patIndex('%,'+@Caltegoryid+'%',classid)>0 or  
             patIndex('%'+@Caltegoryid+',%',classid)>0) and 
             (patIndex('%,'+@Ncaltegoryid+'%',nclassid)>0 or 
              patIndex('%'+@Ncaltegoryid+',%',nclassid)>0)
    order by newsid desc
    GO--这样?
      

  3.   

    为什么还是不行呢?
    如果我把+@Caltegoryid+替换成31,就可以的!?
      

  4.   

    --这样呢?
    CREATE PROCEDURE [dbo].[sp_News _Headlines]
     @Caltegoryid varchar(10),
     @Ncaltegoryid varchar(10),
     @RowsToReturn int
    AS
    set ROWCOUNT @RowsToReturn
    select * from news 
     where  Publisher = 1 and 
            (patIndex('%,'+rtrim(@Caltegoryid)+'%',classid)>0 or  
             patIndex('%'+rtrim(@Caltegoryid)+',%',classid)>0) and 
             (patIndex('%,'+rtrim(@Ncaltegoryid)+'%',nclassid)>0 or 
              patIndex('%'+rtrim(@Ncaltegoryid)+',%',nclassid)>0)
    order by newsid desc
    GO
      

  5.   

    啊?哪里的问题?CREATE PROCEDURE [dbo].[sp_News _Headlines]
     @Caltegoryid varchar(10),
     @Ncaltegoryid varchar(10),
     @RowsToReturn int
    AS
    set ROWCOUNT @RowsToReturn
    select * from news 
     where  Publisher = 1 and 
            (patIndex('%,'+rtrim(@Caltegoryid)+'%',classid)>0 or  
             patIndex('%'+rtrim(@Caltegoryid)+',%',classid)>0) or
             (patIndex('%,'+rtrim(@Ncaltegoryid)+'%',nclassid)>0 or 
              patIndex('%'+rtrim(@Ncaltegoryid)+',%',nclassid)>0)
    order by newsid desc
    GO