gpt4 book ai didi

sql - 如何使用 Print 语句打印 VARCHAR(MAX)?

转载 作者:行者123 更新时间:2023-12-01 16:55:12 24 4
gpt4 key购买 nike

我有一个代码:

DECLARE @Script VARCHAR(MAX)

SELECT @Script = definition FROM manged.sys.all_sql_modules sq
where sq.object_id = (SELECT object_id from managed.sys.objects
Where type = 'P' and Name = 'usp_gen_data')

Declare @Pos int

SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500)

PRINT SUBSTRING(@Script,1,@Pos)

PRINT SUBSTRING(@script,@pos,8000)

脚本的长度约为 10,000 个字符,由于我使用的是 print 语句,它最多只能容纳 8000 个字符。所以我使用了两个 print 语句。

问题是当我有一个大约 18000 个字符的脚本时,我曾经使用 3 个打印语句。

那么有没有一种方法可以根据脚本的长度设置打印语句的数量?

最佳答案

我知道这是一个老问题,但这里没有提及我所做的事情。

对我来说以下有效(最多 16k 字符)

DECLARE @info NVARCHAR(MAX)

--SET @info to something big

PRINT CAST(@info AS NTEXT)

如果你有超过 16k 的字符,你可以像这样与 @Yovav 的答案结合起来(64k 对任何人来说都足够了;)

    print cast( substring(@info, 1, 16000) as ntext )
print cast( substring(@info, 16001, 32000) as ntext )
print cast( substring(@info, 32001, 48000) as ntext )
print cast( substring(@info, 48001, 64000) as ntext )

关于sql - 如何使用 Print 语句打印 VARCHAR(MAX)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7850477/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com