varchar(max) 在变量中设置时截断字符串

varchar(max) is truncating the string when set in a variable

我正在尝试打印动态查询,但在打印查询时字符被截断了。

declare @sql varchar(max)
set @sql = cast('select*from.................length is huge' as varchar(max))
print @sql

知道如何解决吗?

SQL函数PRINT最多只会显示8000个字符,变量仍然有完整的内容。尝试 运行 这个:

PRINT LEN(@sql) 

您应该会看到一个更大的数字。