【发布时间】:2014-10-21 11:01:06
【问题描述】:
我知道了,
ntext、text 和 image 数据类型将在 Microsoft SQL Server 的未来版本中删除。 (http://msdn.microsoft.com/en-us/library/ms187993%28v=sql.90%29.aspx)
现在我有一些带有Text 列的表。它们包含大量文本,我担心Varchar(max) 是否可以保留我们所需的文本长度?
我应该更新我的表并将数据类型更改为Varchar(Max) 吗?会不会影响已经存在的数据?
我使用的是 SQL Server 2008。
【问题讨论】:
-
是的,Microsoft 建议从 TEXT 数据类型迁移到其等效的 varchar(max) 以实现前向兼容性(2014 年不推荐使用的数据类型)。
-
YES,转换为
VARCHAR(MAX)。而VARCHAR(MAX)在每列中可以容纳 2 GB(20 亿个字符)——这足以容纳大约 175 份列夫·托尔斯泰的战争与和平——在一个中列!很难相信你已经超越了...... 到VARCHAR(MAX)的转换是非破坏性的,该列中包含的任何文本都将被保留 -
@marc_s: 令人印象深刻——
TEXT可以做同样的事情,所以这不是你升级的原因。 -
@JeroenMostert:同意——但
VARCHAR(MAX)现在终于支持所有常用的字符串函数——而TEXT只支持令人沮丧的有限字符串函数子集...... .
标签: sql-server