当我们写存储过程语句的时候 如果遇到

declare  @sql nvarchar(200),@age int

set  @sql =  'selet * from user where age = ' + @age,这时就会报错.

因为 我们要把 类似 '26' 这样的字符串拼接上去,而不是真正的把 26 拼接上去.

所以会报错,解决方法 :

set  @sql =  'selet * from user where age = ' + cast(@age as nvarchar(10))


发布评论
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

SQL Server中获得EXEC后面的sql语句或者存储过程的返回值的方法讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。