我在存储过程中定义了一个@sql nvarchar(max),并给其赋值,发现字段被截断了,原来它能接受的值好像只有4
2个回答
展开全部
问题过来这么久,楼主的问题肯定是解决了。
原因是varchar max 或者nvarchar max是变量的数据类型时,长度并没有max
也就是说
是这种情况 declare @sql varchar(max)
可以这样解决
@sql1='select * from a'
@sql2=',b where a.name=b.name'
exec (@sql1+@sql2)
(最好在!@sql1的末尾加上 空格,拼接时容易会链接在一起,比如这样 union allselect * from a)
603062180一起探讨编程中的问题哦~~
原因是varchar max 或者nvarchar max是变量的数据类型时,长度并没有max
也就是说
是这种情况 declare @sql varchar(max)
可以这样解决
@sql1='select * from a'
@sql2=',b where a.name=b.name'
exec (@sql1+@sql2)
(最好在!@sql1的末尾加上 空格,拼接时容易会链接在一起,比如这样 union allselect * from a)
603062180一起探讨编程中的问题哦~~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询