如何写查询的存储过程? 即当userName不为空时,把UserName拼写到where 条件后.(模糊查询) 自己写了,在Where UserName like ' + '%' + @userName + '%'
处报错.请大家帮忙看看.
CREATE PROCEDURE [dbo].[FindUser] 
-- Add the parameters for the stored procedure here
@userName varchar(50)
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;       -- Insert statements for procedure here
DECLARE @_SelectSql nvarchar(1000)
SET @_SelectSql = N'SELECT * from UserInfor' IF @userName IS not null AND LEN(@userName) > 0
BEGIN
SET @_SelectSql = @_SelectSql + N' Where UserName like ' + '%' + @userName + '%'
END EXEC sp_executesql @_SelectSql
END

解决方案 »

  1.   

    试一下:  一个'  >> ''
    CREATE PROCEDURE [dbo].[FindUser] 
    -- Add the parameters for the stored procedure here
    @userName varchar(50)
    AS
    BEGIN
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    SET NOCOUNT ON;       -- Insert statements for procedure here
    DECLARE @_SelectSql nvarchar(1000)
    SET @_SelectSql = N'SELECT * from UserInfor' IF @userName IS not null AND LEN(@userName) > 0
    BEGIN
    SET @_SelectSql = @_SelectSql + N' Where UserName like ' + ''%' + @userName + '%'''
    END EXEC sp_executesql @_SelectSql
    END