在SQL2005里用varchar(max)有什么应该注意的吗? 表里某一列可能要存8000以上的字符,但没用过varchar(max),不知道大家用varchar(max)有没有什么应该注意的,它除了能存的字符多外,有没有什么缺点呢?比如消耗更多的资源??望高手指教~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 --char是一种重视时间的存储方式,而varchar则是重视空间的存储方式 对应关系: varchar(max) text* [ 2^30 - 1 (1,073,741,823) characters ] nvarchar(max) ntext* [ 2^31-1 (2,147,483,647) characters/bytes ] varbinary(max) image [ 2^31-1 (2,147,483,647) bytes ] 需要注意的是:VARCHAR和VARCHAR(MAX)混在一起做处理时还是会变成VARCHAR,从而可能被截断,所以需要全转成VARCHAR(MAX)See:DECLARE @v_n VARCHAR(MAX)DECLARE @v_m VARCHAR(MAX)SET @v_n = REPLICATE('*',100000) --这里是varcharSET @v_m = REPLICATE(CAST('*' AS VARCHAR(MAX)),100000) --这样才是varchar(max)SELECT LEN(@v_n),LEN(@v_m)/*8000 100000*/ 将附件放到数据库里,数据库访问变慢。有什么方法能保障附件的安全性,又能不影响SQL Server的访问速度 比较sql 的速度 求一SQL 行转列 语句 求一存储过程 恳请指都一个SQL语句! SQL关于一个日期的小问题 SQL SERVER表所有者问题?请指教!谢谢!! MS-SQL Server 的入门问题 打开mdf文件的问题,请指教 sql语句 求分隔字符串转临时表 请教一SQL语句(union all) SQL2005 sql验证
nvarchar(max) ntext* [ 2^31-1 (2,147,483,647) characters/bytes ]
varbinary(max) image [ 2^31-1 (2,147,483,647) bytes ]
DECLARE @v_m VARCHAR(MAX)SET @v_n = REPLICATE('*',100000) --这里是varchar
SET @v_m = REPLICATE(CAST('*' AS VARCHAR(MAX)),100000) --这样才是varchar(max)
SELECT LEN(@v_n),LEN(@v_m)/*
8000 100000
*/