- SQL code
-- 0. 传入参数@tablename NVARCHAR(32) = '', --表名@fieldname NVARCHAR(32) = '', --字段名@sqlstring NVARCHAR(1024) = '', --查询条件,不含WHERE@results NVARCHAR(256) = '' OUTPUT --输出结果ASDECLARE @sql NVARCHAR(2048);BEGIN BEGIN TRAN SET @sql =N'SELECT @results = ' + @fieldname + ' FROM ' + @tablename; IF (LTRIM(RTRIM(@sqlstring))<>'' AND @sqlstring IS NOT NULL) SET @sql = @sql + ' WHERE ' + @sqlstring; ELSE SET @sqlstring = ''; EXECUTE sp_executesql @sql,[email protected] NVARCHAR(256) OUT',@results OUTPUT IF @results IS NULL OR LTRIM(RTRIM(@results)) = '' SELECT @results = ''; ELSE SELECT @results = LTRIM(RTRIM(@results)); IF @@ERROR <> 0 BEGIN ROLLBACK TRAN RETURN ''; END ELSE BEGIN COMMIT TRAN RETURN @results; ENDEND
总是提示:
息 245,级别 16,状态 1,过程 sys_GetFieldValue,第 36 行
在将 nvarchar 值 'fffffffffff' 转换成数据类型 int 时失败。
字段类型都是NCHAR,也试了所有的CAST、CONVERT,就是不能解决,折腾了一天了,向各位前辈请教。
------解决方案--------------------
SF
------解决方案--------------------
给出你调用SP的语句,[email protected]
[email protected]