SELECT或PRINT语句中可以得到多少个字符?

我有一个名为QUERY的varchar(max)变量。我在其中存储了大量的创建查询。它的长度几乎是65000多个字符。但是无论何时打印或选择它,都不会返回全部结果。

DeclARE @QUERY AS VARCHAR(MAX)
SET @QUERY='';
//repopulating @QUERY with queries until the lengths reaches more than 65000 
//characters,then

SELECT LEN(REPLACE(@QUERY,'N',''))--to check the length
PRINT @QUERY as QUERY --to get the result in print
SELECT @QUERY as QUERY --to get the result in select

如何获得全部结果?所有这些工作都是在存储过程中完成的。该过程的结果应该是来自select语句的一堆查询。

lijiayanmy 回答:SELECT或PRINT语句中可以得到多少个字符?

尝试

PRINT CAST(@QUERY AS NTEXT)

ntext,text和image数据类型已在最新版本的Microsoft SQL Server中删除。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。

您可以根据脚本长度除以8000来进行WHILE循环。

EG:

DECLARE @Counter INT
SET @Counter = 0
DECLARE @TotalPrints INT
SET @TotalPrints = (LEN(@QUERY) / 8000) + 1
WHILE @Counter < @TotalPrints 
BEGIN
    -- Do your printing...
    SET @Counter = @Counter + 1
END

FIDDLE DEMO

enter image description here

本文链接:https://www.f2er.com/3168530.html

大家都在问