【问题标题】:Modifying value of ntext column修改 ntext 列的值
【发布时间】:2010-01-11 12:03:17
【问题描述】:

我在 ntext 中有一个列,其中包含长度超过 4000 个字符的大型 unicode 字符串。我需要更新/修改 sql 中列的行的数据,但我不知道该怎么做。我尝试将 nvarchar(max) 作为缓冲区,但它会将数据截断为 4000 个字符。

谁能帮我给我一个提示或想法或解决方法,因为我真的迷失了这个?

【问题讨论】:

  • 向我们展示被截断的代码。

标签: sql sql-server tsql ntext


【解决方案1】:

nvarchar(max) 不会截断。

您在某处有一个中间 nvarchar(4000)(或更短),通常是一个字符串常量。有关更多信息,请参阅我的答案:For Nvarchar(Max) I am only getting 4000 characters in TSQL?

如果您可以转换为 nvarchar(max),那么这意味着您也可以更改列...正如 Remus 所说,不推荐使用 ntext。

【讨论】:

  • 我已经用 nvarchar(max) 进行了测试,它工作正常。必须有一些中间变量导致proc中的prob。感谢您的帮助。
【解决方案2】:

用更合适的 NVARCHAR(MAX) 替换过时的类型 NTEXT 并使用 UPDATE SET 列。编写语法,请参阅Using Large-Value Data Types

旧类型 NTEXT 支持UPDATETEXT,但现在已过时。

【讨论】:

    猜你喜欢
    • 2013-08-15
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 2022-10-20
    • 2020-01-17
    • 2010-10-13
    • 1970-01-01
    • 2019-06-19
    相关资源
    最近更新 更多