CREATE PROCEDURE [dbo].[CellPM] 
@CellName char(100) 
AS 
SELECT * FORM A 
WHERE A.CellName like '%' + RTRIM(LTRIM(@CellName)) +'%'EXEC CELLPM 'KI' 

解决方案 »

  1.   

    CREATE PROCEDURE [dbo].[CellPM]
    @CellName char(100)
    AS
    EXEC('SELECT * FORM A
    WHERE A.CellName like''%'+ @CellName+'%'''EXEC CELLPM 'KI' 
      

  2.   

    CREATE PROCEDURE [dbo].[CellPM] 
    @CellName char(100) 
    AS 
    SELECT * FORM A 
    WHERE A.CellName like '%' + @CellName + '%' 
      

  3.   

    什么原因?
    1.里面有等于的数据但数据char型可能有空格,那样就不相等了
    2.like一般要用 % 来匹配
      

  4.   

    CREATE PROCEDURE [dbo].[CellPM] 
    @CellName char(100) 
    AS 
    SELECT * FORM A 
    WHERE A.CellName like @CellName EXEC CELLPM '%KI%' 没有查询到记录,实际数据库是存在记录的 请问高手是什么原因刚才写错了
      

  5.   

    晕,慢了4秒,,,Like模糊查询的时候应该加上通配符:
    % --匹配任意长度的字符串
    _ --匹配一个字符
      

  6.   

    try-》
    CREATE PROCEDURE [dbo].[CellPM] 
    --@CellName char(100) 
    @CellName varchar(100) 
    AS 
    SELECT * FORM A 
    WHERE A.CellName like @CellName EXEC CELLPM '%KI%' 
      

  7.   


    直接执行下面的语句,有记录?
    SELECT * FORM A WHERE A.CellName like '%KI%'
      

  8.   

    CREATE PROCEDURE [dbo].[CellPM] 
    @CellName char(100) 
    AS 
    SELECT * FORM A 
    WHERE patindex('%' + @CellName + '%',A.CellName )>0 
      

  9.   

    很重要的一点 
    CREATE PROCEDURE [dbo].[CellPM] 
    @CellName varchar(100)  --这里不能用char
    AS 如果你用的是char(100),那么实际执行的时候,判断的不是包含KI的字段,而是KI+98个空格的字段