ALTER FUNCTION f_PMS_GetUserName
(
@UserID VARCHAR(100)
)
RETURNS VARCHAR(100)
AS
BEGIN
--定义
DECLARE @ResultVar VARCHAR(100)
--初始
SET @ResultVar = ''
--获取结果
SELECT @ResultVar = @ResultVar + UserName
FROM dbo.Sys_User WHERE ID IN (@UserID)
--返回
RETURN @ResultVar
END
GO
表【Sys_User】里的【ID】是int类型执行:
SELECT DBO.f_PMS_GetUserName('7') --没问题执行:
SELECT DBO.f_PMS_GetUserName('7,160')
报错:
在将 varchar 值 '7,160' 转换成数据类型 int 时失败。
(
@UserID VARCHAR(100)
)
RETURNS VARCHAR(100)
AS
BEGIN
--定义
DECLARE @ResultVar VARCHAR(100)
--初始
SET @ResultVar = ''
--获取结果
SELECT @ResultVar = @ResultVar + UserName
FROM dbo.Sys_User WHERE ID IN (@UserID)
--返回
RETURN @ResultVar
END
GO
表【Sys_User】里的【ID】是int类型执行:
SELECT DBO.f_PMS_GetUserName('7') --没问题执行:
SELECT DBO.f_PMS_GetUserName('7,160')
报错:
在将 varchar 值 '7,160' 转换成数据类型 int 时失败。
ALTER FUNCTION f_PMS_GetUserName
(
@UserID VARCHAR(100)
)
RETURNS VARCHAR(100)
AS
BEGIN
--定义
DECLARE @ResultVar VARCHAR(100)
--初始
SET @ResultVar = ''
--获取结果
SELECT @ResultVar = @ResultVar + UserName
FROM dbo.Sys_User WHERE CHARINDEX(',' + RTRIM(ID) + ',',',' + @UserID + ',') > 0
--返回
RETURN @ResultVar
END
GO