【发布时间】:2016-10-18 06:22:47
【问题描述】:
我已经在多行代码中构建了 T-SQL 变量 @Foo。
如果@Foo 被声明为VarChar(MAX),紧随其后的PRINT 语句输出我所期望的(5,421 个字符)。
但是,后面的 EXECUTE 语句会失败,因为它需要 NVarChar 参数。
当我将 @Foo 的声明更改为 NVarChar(MAX) 时,PRINT 语句仅打印出我所期望的子集(3,902 个字符)。输出被截断。
@Foo是多个变量的串联,都是VarChar(MAX)。在我上链之前,将所有前任变量更改为 NVarChar(MAX) 以继续测试,我想知道是否有人对这种不一致的行为有所了解。
PRINT @Foo
EXECUTE [master].[sys].[sp_executesql] @Foo
非常感谢。
基思
【问题讨论】:
标签: sql sql-server tsql