sql 简单的查询有关问题

sql 简单的查询问题在线等SQL codeALTER FUNCTION f_PMS_GetUserName(@UserID VARCHAR(100))RETURNS VARCH

sql 简单的查询问题 在线等

SQL code
ALTER FUNCTION f_PMS_GetUserName(    @UserID VARCHAR(100))RETURNS VARCHAR(100)ASBEGIN    --定义    DECLARE @ResultVar VARCHAR(100)    --初始    SET @ResultVar = ''    --获取结果    SELECT @ResultVar = @ResultVar + UserName    FROM dbo.Sys_User WHERE ID IN (@UserID)    --返回    RETURN @ResultVarENDGO


表【Sys_User】里的【ID】是int类型

执行:
SELECT DBO.f_PMS_GetUserName('7') --没问题

执行:
SELECT DBO.f_PMS_GetUserName('7,160')
报错:
在将 varchar 值 '7,160' 转换成数据类型 int 时失败。

[解决办法]
SQL code
ALTER FUNCTION f_PMS_GetUserName(    @UserID VARCHAR(100))RETURNS VARCHAR(100)ASBEGIN    --定义    DECLARE @ResultVar VARCHAR(100)    --初始    SET @ResultVar = ''    --获取结果    SELECT @ResultVar = @ResultVar + UserName    FROM dbo.Sys_User WHERE CHARINDEX(',' + RTRIM(ID) + ',',',' + @UserID + ',') > 0    --返回    RETURN @ResultVarENDGO