接受输入为字符串,然后如何将其转换为整数值

时间:2013-07-16 20:57:32

标签: sql sql-server sql-server-2008

我有一个接受输入作为字符串的过程,在程序中我希望参数为整数,请找到以下程序。

CREATE PROCEDURE [dbo].[spPERSON_SELECT]
(
    @PersonID VARCHAR(MAX) = NULL
)
AS
BEGIN 

    SELECT PERSON.name
    FROM PERSON
    WHERE
        PERSON.person_id NOT IN (@PersonID) 

END
GO

请帮忙!

1 个答案:

答案 0 :(得分:1)

您可以将该varchar变量转换为表变量(TSQL的'数组') - 搜索SO,有数十个示例

或使用动态SQL,例如

DECLARE @sSQL varchar(max)

SET @sSQL = 'SELECT PERSON.name  FROM PERSON WHERE PERSON.person_id NOT IN '
SET @sSQL = @sSQL + '(' + @PersonID + ')'

EXEC (@sSQL)