用动态语句,
DECLARE @STRING VARCHAR(8000)
 IF @TEMP='%'
BEGIN
SET @STRING='SELECT * FROM 表A WHERE A LIKE @TEMP OR A IS NULL'
END
ELSE
BEGIN
SET @STRING='SELECT * FROM 表A WHERE A LIKE @TEMP OR A IS NOT NULL'
END
EXEC @STRING

解决方案 »

  1.   

    wanyingsong(豌豆)的答案是正确的
      

  2.   

    if @temp='%'
       SELECT * FROM A
    else
       SELECT * FROM 表A WHERE A LIKE @TEMP OR A IS NOT NULL  --这里楼主可能说错了,估计是:
       --SELECT * FROM 表A WHERE A LIKE @TEMP AND A IS NOT NULL  
      

  3.   

    if @temp='%'
       SELECT * FROM A
    else
       SELECT * FROM A WHERE A LIKE @TEMP OR A IS NOT NULL  --这里楼主可能说错了,估计是:
       --SELECT * FROM A WHERE A LIKE @TEMP AND A IS NOT NULL