代码改变世界

在Microsoft SQL SERVER Management Studio下如何完整输出NVARCHAR(MAX)字段或变量的内容

2020-10-19 10:10  卡车司机  阅读(364)  评论(0编辑  收藏  举报
DECLARE @ResponseText nvarchar(max)
DECLARE @PageSize int
DECLARE @Counter INT
DECLARE @TotalPrints INT
DECLARE @Length int;

SET @PageSize = 2;
SET @Counter = 0
SET @ResponseText = '123456789'
SET @Length = LEN(@ResponseText)

IF((@Length % @PageSize) = 0)
    BEGIN
        SET @TotalPrints = (@Length / @PageSize)
    END
ELSE
    BEGIN
        SET @TotalPrints = (@Length / @PageSize) + 1
    END

WHILE @Counter < @TotalPrints 
    BEGIN
        PRINT SUBSTRING(@ResponseText, (@Counter * @PageSize)+1, @PageSize)
        SET @Counter = @Counter + 1
    END

 

第一步: 将需要输出的内容存入@ResponseText变量, 并执行上述代码

第二步: 由于PRINT函数打印出来的内容最后会加一个回车换行符, 需要使用工具软件替换掉.

  我这里使用Visual Studio来处理, 先在Visual Studio里新建一个文本文档, 将打印出来的字符串全部复制到刚才新建的文本文档里. 然后使用Visual Studio的查找和替换功能, 记得要选中"使用正则表达式"选项, 点击"替换"按钮, 完成

 

还有一个更简单的办法, 可以使用Navicat这个软件, 查询出来的NVARCHAR(MAX)字段内容已经是完整的内容, 但是Navicat不是免费软件, 购买商业版永久许可证11,129.00. 好在他有14天免费试用期, 哈哈.