nvarchar(max)字段 超4000无法正常读取 本帖最后由 ahwood 于 2013-01-02 17:49:43 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 你是超过4000存不进去?还是觉得存不进去?字符型的数据的长度好像要用这个来查的:select datalength(@v) 确定下content在表中的字段类型是不是nvarchar(max) 可能是存储过程或者函数写入时截断了,楼主自己检查一下, SQLSERVER是没有这个限制的。 不会出现楼主的情况declare @article table(content nvarchar(max))insert into @article select cast(REPLICATE('A',4000) as nvarchar(max))+REPLICATE('B',4000)declare @v nvarchar(max)select @v=(content) from @article select len(@v)/*8000*/ declare @v nvarchar(max)set @v=space(8000)set @v=@v+space(3456)select len(@v)/*--------------------11456(1 行受影响)*/ 的确是我一个自动生成CLR的函数写错了导致数据截断,谢谢3楼提醒。 存储过程中用insert语句增加一条新记录,怎样立刻得到这条记录的ID号? 字段的顺序加1的问题 关于nvarchar的长度问题,不好搞啊,急...... 如何对一张表中同一个ID的几行数据进行查询,查出任何一个有A,就把这个ID的这列的数据全替换成B 菜鸟update日期问题! 服务中的sqlserver2005服务过几天就会自动停止是什么原因? 如果进过一个月每天的统计 本论坛最简单的问题在这里~~ sql临时表 SQL返回结果集 SqlServer2008R2 的SSIS 同步的困扰鄙人N久的问题 SQL SERVER2005登录问题
select datalength(@v)
declare @article table(content nvarchar(max))
insert into @article select cast(REPLICATE('A',4000) as nvarchar(max))+REPLICATE('B',4000)declare @v nvarchar(max)
select @v=(content) from @article
select len(@v)
/*
8000
*/
set @v=space(8000)
set @v=@v+space(3456)
select len(@v)
/*
--------------------
11456(1 行受影响)*/