Sql 存储过程不返回任何内容

Sql 存储过程不返回任何内容,sql,stored-procedures,Sql,Stored Procedures,这应该是没有问题的,但在我工作了很长时间后,我无法注意到我在这里做错了什么 有一个非常简单的存储过程: ALTER PROCEDURE MyProc @input char(10) AS BEGIN SET NOCOUNT ON; SELECT isonum FROM iso where isonum LIKE '%' + @input + '%' ORDER BY isonum END 执行查询时:从i

这应该是没有问题的,但在我工作了很长时间后,我无法注意到我在这里做错了什么

有一个非常简单的存储过程:

ALTER PROCEDURE MyProc  
@input char(10)

AS

    BEGIN
        SET NOCOUNT ON;
        SELECT isonum 
        FROM iso where isonum LIKE '%' + @input + '%'
        ORDER BY isonum
    END
执行查询时:从iso中选择
isonum,其中isonum类似于“%2333%”
-我获取数据,但在执行存储过程时:

exec MyProc'2333'
-我什么也得不到


这里怎么了?

改为
@input-char(10)
改为
@input-varchar(10)

您的sp当前正在运行

isonum来自iso,其中isonum类似于“%2333%”

ALTER PROCEDURE MyProc
ALTER PROCEDURE MyProc  
@input varchar(10)   --<-- Use varchar here 

AS

    BEGIN
        SET NOCOUNT ON;
        SELECT isonum 
        FROM iso where isonum LIKE '%' + @input + '%'
        ORDER BY isonum
    END

@input varchar(10)——它与@input varchar(10)一起工作吗?它是否对变量进行了填充,以便它搜索像“%2333%”这样的
?您可以通过将其添加到sp中来观察:
选择“['+@input+']”