【问题标题】:How to save more than 8000 characters in a SQL column如何在 SQL 列中保存超过 8000 个字符
【发布时间】:2019-11-15 06:08:01
【问题描述】:

我在包含更多字符的表 Test 中有一列 AgentName。我得到了如下所示的长度差异。

如果您看到 "C" ,我已经复制了 @TMP 的输出并在我认为应该与 B 相同的地方执行 DataLength。

任何帮助将不胜感激。

【问题讨论】:

    标签: sql sql-server tsql max varchar


    【解决方案1】:

    理想情况下,当您从结果网格复制值时,将根据 SSMS 中的查询选项设置检索数据(查询 -> 查询选项 -> 结果 -> 网格 -> 检索的最大字符数)

    如下结果:默认为 65535,从结果网格复制的数据长度仅为 65535

    当您更新 grid 的选项值后:

    【讨论】:

      【解决方案2】:

      这是因为 SQL Server Management Studio 不会呈现整个长度,因此您需要处理的细节更少。如果您想获取整个文本,请将其转换为XML

      改为SELECT @TMP 做:

      SELECT CAST(@TMP AS XML)
      

      然后打开该值,复制它并检测它的长度。

      【讨论】:

      • 一个小插件:可能需要右键单击查询并将网格中 XML 的选项设置为“无限制”...
      【解决方案3】:

      您可以将列定义为VARCHAR(MAX),支持8000多个字符。

      CREATE TABLE Test
      (
         B VARCHAR(MAX),
         C VARCHAR(MAX)
      )
      

      【讨论】:

        猜你喜欢
        • 2011-12-07
        • 2014-07-25
        • 1970-01-01
        • 1970-01-01
        • 2012-12-30
        • 2011-08-23
        • 2013-05-31
        • 2011-12-17
        相关资源
        最近更新 更多