大力print出来是这样的 运行时提示 将 varchar 值 '*******' 转换为数据类型为 int 的列时发生语法错误。select Prod_id,prod_apply_person,state,state2,Prod_type,Prod_name_eng,prod_name,prod_sort,prod_make_co,Prod_sureness_stock,prod_apply_date from product where 1=1 and prod_apply_person=1 union all select prod_id,prod_apply_person,state,state2,prod_type ,Prod_name_eng ,Prod_name ,prod_sort ,prod_make_co='*******' ,Prod_sureness_stock='*******',prod_apply_date from product where 1=1 and prod_apply_person<>1
执行时@varchar不全,还有很多没显示
是结果不对,还是@varchar的值少了.
如果是前者,就打印出其值,在查询分析器中找错.如果是后者,可能是你的字符串太长.超过了最大允许的长度8000
那要改用几个变量相加才行,即:exec(@varchar1+@varchar2+...)
执行时@varchar不全,还有很多没显示是否指:exec(@varchar) 出错如果是指@varchar丢失了一部分内容,那就是因为你的生成的字符串长度超过了最大允许的长度8000,要改为用几个字符串加起来的方法解决:
即用类似下面的方法:
exec(@varchar1+@varchar2+...)
select @varchar
用
print @varchar
在把print出的代码放到另一个窗口中验证,检查错误
运行时提示
将 varchar 值 '*******' 转换为数据类型为 int 的列时发生语法错误。select Prod_id,prod_apply_person,state,state2,Prod_type,Prod_name_eng,prod_name,prod_sort,prod_make_co,Prod_sureness_stock,prod_apply_date
from product where 1=1 and prod_apply_person=1 union all
select prod_id,prod_apply_person,state,state2,prod_type ,Prod_name_eng ,Prod_name ,prod_sort ,prod_make_co='*******' ,Prod_sureness_stock='*******',prod_apply_date
from product where 1=1 and prod_apply_person<>1
select @varchar
和
print @varchar
有什么区别????
是int型吧?
怎么能够和'*******'做比较?