数据库

SQL Server 数据类型中的 ntext 与 nvarchar(MAX) 有何区别?

字号+ 作者:hanyufeng 来源: 2016-01-25 00:14:04 我要评论( ) 阅读:

nvarchar(MAX) 更灵活一些。...

在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

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 修改、批量修改表和存储过程的所有者

    修改、批量修改表和存储...

  • Windows XP下安装SQL2000企业版

    Windows XP下安装SQL2000企业版

  • MSSQL 2000如何修改数据表所有者

    MSSQL 2000如何修改数据表所有者

  • MSSQL 2000 无法安装的解决方法

    MSSQL 2000 无法安装的解决方法

  • MSSQL 2000 还原数据库后登录名为空的问题

    MSSQL 2000 还原数据库...