sql 在将 nvarchar 值 转换成数据类型 int 时失败。
2012-11-20 10:59
543 查看
假设有存储过程:proc_test2
create proc proc_test2
@Id int
begin
as
declare @sql varchar(max)
@sql = 'select * from test2 where 1=1'
if @Id <> 0
set @sql += ' and Id = ' +@Id
exec (@sql)
end
存储过程需要的参数是int类型,按道理直接传值(+@Id)是没有问题的,但是在执行存储过程的时候,却弹出
“sql 在将 nvarchar 值 转换成数据类型 int 时失败。”
这时候你需要转换一下就ok了!
正解是:set @sql += ' and Id = ' +Cast([b]@Id as nvarchar(50))[/b]
create proc proc_test2
@Id int
begin
as
declare @sql varchar(max)
@sql = 'select * from test2 where 1=1'
if @Id <> 0
set @sql += ' and Id = ' +@Id
exec (@sql)
end
存储过程需要的参数是int类型,按道理直接传值(+@Id)是没有问题的,但是在执行存储过程的时候,却弹出
“sql 在将 nvarchar 值 转换成数据类型 int 时失败。”
这时候你需要转换一下就ok了!
正解是:set @sql += ' and Id = ' +Cast([b]@Id as nvarchar(50))[/b]
相关文章推荐
- sql 在将 nvarchar 值 转换成数据类型 int 时失败。
- 关于sql条件语句where id in (@参数)执行报错问题(转换成数据类型 int 时失败)(
- Sql 在将varchar值 '21,123,.. ' 转换成数据类型 int 时失败 的问题
- sql server like 在将值转换成数据类型int失败
- 10月14日遇到的问题 在将 nvarchar 值 转换成数据类型 int 时失败。
- Sql 在将varchar值 '21,123,.. ' 转换成数据类型 int 时失败 的问题
- SQL SERVER 在将 nvarchar 值转换成数据类型 int 时失败
- Sql 在将varchar值 '1,2,.. ' 转换成数据类型 int 时失败 的问题
- sqlserver 在将 nvarchar 值 'XXX' 转换成数据类型 int 时失败
- where in (@参数) 转换成数据类型 int 时失败
- 在将nvarchar值转换成数据类型int时失败
- sql 聚合函数 sum 消息 8115,级别 16 将 expression 转换为数据类型 int 时出现算术溢出错误。
- sql 将 varchar 值转换为数据类型为 int 的列时发生语法错误 的解决办法
- SQL从数据类型 nvarchar 转换为 bigint 时出错解决方案
- sql in(1,2,3)参数化查询,错误在将 varchar 值 '1,2,3,4' 转换成数据类型 int 时失败
- 编写存储过程时,出现“转换成数据类型 int 时失败”错误的解决方法
- 佩特来项目经验小集合(2)___组合查询存储过程,报错 "varchar JBID='' 转换成数据类型 int 时失败"
- 在将 varchar 值 '2,7' 转换成数据类型 int 时失败
- 在将 varchar 值 'System.Web.UI.WebControls.DataKey' 转换成数据类型 int 时失败。
- 在将 varchar 值 'select * from soft where id=' 转换成数据类型 int 时失败