我正在使用文本的varchar(MAX)值,但是当我构建庞大的SQL时,它会减少结束。
有什么方法可以创建一个Dynamic Declare语句,然后我可以在执行sql时与其他人一起加入?
e.g。类似的东西:
DECLARE @sSQLLeft + Convertvarchar(4),@index) varchar(MAX)
答案 0 :(得分:1)
varchar(max)
最多大约2GB你确定它会削减结局还是只是当你打印它只显示前几百个字符?
要在SSMS中查看长文本而不截断它,您可以使用此技巧
SELECT @dynsql AS [processing-instruction(x)] FOR XML PATH('')
答案 1 :(得分:0)
DECLARE @query VARCHAR(MAX)
DECLARE @query2 VARCHAR(MAX)
-- Do wahtever
EXEC (@query + @query2)
修改强>
马丁史密斯是对的。您的查询可能会削减打印。这种切割的原因之一是变量或列中的NULL值,它与查询连接并使查询的其余部分为NULL。