修改ntext列的值
我在 ntext 中有一个列,其中包含长度超过 4000 个字符的大型 unicode 字符串。我需要更新/修改 sql 中列的行数据,但我不知道如何执行此操作。我尝试过使用 nvarchar(max) 作为缓冲区,但它会将数据截断为 4000 个字符。
谁能帮我给我一个提示、一个想法或一个解决方案,因为我真的迷失了这个?
I have a column in ntext which holds large unicode strings longer than 4000 chars in length. I need to update/modify the data of the rows of the column in sql but I have no clue how to do so. I have tried nvarchar(max) as a buffer but it truncates the data into 4000 chars.
Could anyone help me give me a hint or an idea or a workround solution, because I'm really lost in this one?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
nvarchar(max) 不会截断。
您在某处有一个中间 nvarchar(4000) (或更短),通常是字符串常量。有关更多信息,请参阅我的答案:对于Nvarchar(Max) 我在 TSQL 中只能得到 4000 个字符?
如果您可以转换为 nvarchar(max),那么这意味着您也可以更改您的列...正如 Remus 所说,ntext 已被弃用。
nvarchar(max) does not truncate.
You have an intermediate nvarchar(4000) (or shorter) somewhere, usually a string constant. See my answer for more info: For Nvarchar(Max) I am only getting 4000 characters in TSQL?
If you can cast to nvarchar(max), then it means you can change your columns too... As Remus said, ntext is deprecated.
将过时的类型 NTEXT 替换为更合适的 NVARCHAR(MAX) 并使用 UPDATE SET 列。写入语法,请参阅 使用大值数据类型。
旧类型 NTEXT 支持 UPDATETEXT,但现已过时。
Replace the obsolete type NTEXT with the more appropriate NVARCHAR(MAX) and use the UPDATE SET column.Write syntax, see Using Large-Value Data Types.
The old type NTEXT supports the UPDATETEXT, but is obsolete now.