如何在存储过程中使用int参数?

Ngu*_*uan 0 sql t-sql stored-procedures

我使用Visual Studio 2008的查询生成器工具来构建存储过程.这是预览脚本:

IF EXISTS (SELECT * 
             FROM sysobjects 
            WHERE name = 'SelectQuery' AND user_name(uid) = 'dbo')
    DROP PROCEDURE dbo.SelectQuery
GO

CREATE PROCEDURE dbo.SelectQuery
(
    @StudentID int
)
AS
    SET NOCOUNT ON;
SELECT        StudentID, StudentName, StudentPhone, StudentAddress, 
              StudentBirthDay, StudentDescription, StudentStatus
FROM            tbl_Student
WHERE        (StudentID LIKE '%' + @StudentID + '%')
GO
Run Code Online (Sandbox Code Playgroud)

但是当我尝试执行它时,我收到了一个错误:

Error Message: Conversion fail when converting the value '%' to datatype int.
Run Code Online (Sandbox Code Playgroud)

请帮我!

Mar*_*ith 6

你想找到哪些@StudentID是子串的行StudentID?如果是这样

WHERE StudentID LIKE '%' + cast(@StudentID as varchar(10)) + '%'
Run Code Online (Sandbox Code Playgroud)

应该管用.