读书人

sql 简单的查询有关问题

发布时间: 2012-06-16 20:34:32 作者: rapoo

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 

读书人网 >SQL Server

热点推荐