首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

sql 简单的查询有关问题

2012-06-16 
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 

热点排行