在动态SQL中是否存在解决问题的任何解决方案/替代方案

时间:2014-05-26 06:58:44

标签: sql sql-server-2008 dynamic dynamic-sql

我正在使用动态查询进行透视。我的数据透视表将有250多列,超过8000个字符。我们有替代方案吗?我正在使用SQL2008。

这就是我制作SQL代码的方法。 http://postimg.org/image/7iqux68d5/(不是确切的SQL,但足以显示我想要实现的目标。)

谢谢

2 个答案:

答案 0 :(得分:1)

我觉得你担心你将存储在一个变量中的字符串,因为它超过了8000个字符长度,对吗?

然后试试这个:

declare @string nvarchar(max);

看到这个在我的结尾工作:

DECLARE @String nvarchar(max);
SELECT @String = REPLICATE(CAST('a' AS NVARCHAR(MAX)),100000);
SELECT LEN(@String)

答案 1 :(得分:1)

您使用的print语句最多只能容纳8000,这就是打印显示不完整查询的原因,因此在执行时,您将在使用NVARCHAR(MAX)后得到正确的答案。