SQL Server 2005中NTEXT与NVARCHAR(MAX)

NTEXT:

默认情况下,NTEXT将文本数据存储在LOB结构中, 在表结构中只存储指针,指针指向该数据在LOB中的存储位置。

NVARCHAR(MAX)

默认情况下,不超过8,000字节的数据直接存储在表结构中,超过的才和NTEXT一样将数据存储在LOB结构中。

NTEXT向NVARCHAR(MAX)的转换:

ALTER    TABLE     表名      ALTER     COLUMN    字段名    NVARCHAR(MAX)    null

执行上面的SQL语句之后,虽然完成了转换,但数据的存储结构并没有改变,还是按照NTEXT的默认存储方式存储在LOB中。

如何实现转换后数据按NVARCHAR(MAX)的方式进行存储呢?只需执行下面的语句:

UPDATE    表名   SET   字段名 = 字段名

比如:表名是news,字段名是contents,SQL语句就是: update    news   SET   contents= contents

NTEXT将在以后版本的SQL SERVER中不被支持,微软的文档中建议用NVARCHAR(MAX)取代NTEXT

你可能感兴趣的:(sql server 2005)