我有一个存储过程,如下所示:
CREATE PROCEDURE [dbo].[GetGroupUsers]
@GroupName VARCHAR(500) = NULL
AS
BEGIN
SET NOCOUNT ON;
PRINT @GroupName
-- get group users
DECLARE @GroupUsers TABLE
(
GroupId UNIQUEIDENTIFIER,
GroupName VARCHAR(500),
UserId UNIQUEIDENTIFIER
)
INSERT INTO @GroupUsers
SELECT
GroupId, GroupName, UserId
FROM
AllGroupUsers agu
WHERE
(@GroupName IS NULL OR agu.[GroupName] LIKE @GroupName + '%')
SELECT * FROM @GroupUsers
END
出于某种原因,当我通过SS @GroupName
值为_MY_TEST
的SSMS测试对话执行时,上面的存储过程不会返回数据,但如果运行以下内容,则会返回数据直接从不同的查询窗口查询:
select *
from AllGroupUsers agu
where agu.[GroupName] like '_MY_TEST' + '%'
知道问题可能是什么?
print @GroupName
命令正在打印预期值,我还尝试将@GroupName
类型从VARCHAR(500)
更改为NVARCHAR(500)
,但仍未从存储过程返回任何结果?