我在 ntext 中有一个列,其中包含长度超过 4000 个字符的大型 unicode 字符串。我需要更新/修改 sql 中列的行的数据,但我不知道该怎么做。我尝试将 nvarchar(max) 作为缓冲区,但它会将数据截断为 4000 个字符。
谁能帮我给我一个提示或想法或解决方法,因为我真的迷失了这个?
我在 ntext 中有一个列,其中包含长度超过 4000 个字符的大型 unicode 字符串。我需要更新/修改 sql 中列的行的数据,但我不知道该怎么做。我尝试将 nvarchar(max) 作为缓冲区,但它会将数据截断为 4000 个字符。
谁能帮我给我一个提示或想法或解决方法,因为我真的迷失了这个?
将过时的类型 NTEXT 替换为更合适的 NVARCHAR(MAX) 并使用 UPDATE SET 列。编写语法,请参阅使用大值数据类型。
旧类型 NTEXT 支持UPDATETEXT,但现在已过时。
nvarchar(max) 不会截断。
您在某处有一个中间 nvarchar(4000) (或更短),通常是一个字符串常量。有关更多信息,请参阅我的答案:对于 Nvarchar(Max),我在 TSQL 中只得到 4000 个字符?
如果您可以转换为 nvarchar(max),那么这意味着您也可以更改列...正如 Remus 所说,不推荐使用 ntext。