gpt4 book ai didi

sql-server - FOR JSON PATH结果导致SSMS被截断为2033个字符

转载 作者:行者123 更新时间:2023-12-03 09:58:42 31 4
gpt4 key购买 nike

我正在使用“for JSON path('')”将字符串串联在一起。

我已经将“工具”->“选项”->“SQL Server”->“结果到网格”选项设置为最大。

我已经将“工具”->“选项”->“SQL Server”->“结果为文本”选项设置为最大。

在网格模式下执行查询并复制一行/一列的结果,我看到返回值限制为2033个字符。

如何确保返回的值不被截断?

最佳答案

该行为是documented here:

A large result set splits the long JSON string across multiple rows.

By default, SQL Server Management Studio (SSMS) concatenates the results into a single row when the output setting is Results to Grid. The SSMS status bar displays the actual row count.

Other client applications may require code to recombine lengthy results into a single, valid JSON string by concatenating the contents of multiple rows. For an example of this code in a C# application, see Use FOR JSON output in a C# client app.



因此,使用FOR JSON连接字符串(当结果长于2033个字节时)不是最好的主意。

尝试改用FOR XML。例如:
SELECT STUFF((
SELECT ', '+name FROM sys.columns FOR XML PATH(''), TYPE
).value('.','nvarchar(max)'),1,2,'')

关于sql-server - FOR JSON PATH结果导致SSMS被截断为2033个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54973536/

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