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

roh*_*ngh 0 sql sql-server varchar truncate

我正在尝试打印动态查询,但正在发生的是打印查询时字符被截断.

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

知道怎么解决吗?

Dav*_*idG 5

SQL函数PRINT最多只显示8000个字符,变量仍然具有完整内容.试试这个:

PRINT LEN(@sql) 
Run Code Online (Sandbox Code Playgroud)

你应该看到一个更大的数字.