码迷,mamicode.com
首页 > 数据库 > 详细

关于动态执行sql语句出现

时间:2017-05-23 11:16:14      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:long   div   执行   字符   语言   sql语句   转化   arc   max   

如例:  

DECLARE @sql NVARCHAR(max);    
DECLARE @longid BIGINT =100;
SET @sql=select +@longid;

执行之后提示  从数据类型 varchar 转换为 bigint 时出错。

 刚开始以为是要输出bigint类型,但是sql动态执行无法识别,于是改成了

SET @sql=select +CONVERT(BIGINT,@longid);

但是还是报同样的错误,后面试用这种方法就没有问题了

SET @sql=select +CONVERT(NVARCHAR,@longid);

说明了,在动态语句中,我们设置的@sql的类别为varchar,于是在字符串相加的时候,也该将其他类型转化为字符串,否则会报错。

跟C#语言一致,谨记~~

关于动态执行sql语句出现

标签:long   div   执行   字符   语言   sql语句   转化   arc   max   

原文地址:http://www.cnblogs.com/lhll/p/6892927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!