sql – 将ntext转换为nvcharmax(max) – 获取大小限制
发布时间:2020-12-12 16:32:53 所属栏目:MsSql教程 来源:网络整理
导读:我正在尝试将现有的SQL NText列更改为nvcharmax(max),并在大小限制上遇到错误.有大量的现有数据,其中有些超过了8k的限制,我相信. 我们正在寻找转换,以便该字段可在LINQ中搜索. 我试过的2x SQL语句是: update Tableset dataNVarChar = convert(nvarchar(max),
我正在尝试将现有的SQL NText列更改为nvcharmax(max),并在大小限制上遇到错误.有大量的现有数据,其中有些超过了8k的限制,我相信.
我们正在寻找转换,以便该字段可在LINQ中搜索. 我试过的2x SQL语句是: update Table set dataNVarChar = convert(nvarchar(max),dataNtext) where dataNtext is not null update Table set dataNVarChar = cast(dataNtext as nvarchar(max)) where dataNtext is not null 我得到的错误是: Cannot create a row of size 8086 which is greater than the allowable maximum row size of 8060. 这是使用SQL Server 2008. 任何帮助赞赏, 更新/解决方案: 下面的标记答案是正确的,SQL 2008可以在我的情况下将列更改为正确的数据类型,并且我们使用的LINQ利用应用程序没有任何戏剧: alter table [TBL] alter column [COL] nvarchar(max) 我也被建议跟进: update [TBL] set [COL] = [COL] 通过将数据从lob结构移动到表(如果长度小于8k)来完成转换,从而提高性能/保持正确. 解决方法这很可能是因为列dataNVarChar未定义为NVARCHAR(max)要将列从NTEXT转换为NVARCHAR(MAX),请使用此项 alter table TBL alter column COL nvarchar(max) 它将同时对您的列中的数据进行转换 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容