在SQL Server 2005(及更高版本)中,数据类型既有ntext,也有nvarchar(MAX) 。
二者的区别是:
ntext 默认将文本数据存储在LOB结构中, 在表结构中只存储指针,指针指向该数据在LOB中的存储位置。
nvarchar(MAX) 默认将不超过8,000字节的数据直接存储在表结构中,超过的才和NTEXT一样将数据存储在LOB结构中。
nvarchar(MAX) 更灵活一些。
ntext类型的字段转换为nvarchar(MAX)类型:
1. 修改数据类型
ALTER TABLE 表名 ALTER COLUMN 字段名 NVARCHAR(MAX) null
2. 转换存储方式
执行上面的SQL语句之后,虽然完成了转换,但数据的存储结构并没有改变,还是按照ntext的默认存储方式存储在LOB中,需要再更新一下:
UPDATE 表名 SET 字段名 = 字段名
参考:http://www.cnblogs.com/dudu/archive/2009/10/17/1585152.html