2011-10-07 31 views
2

是否有任何理由不使用ntext并且没有为所有文本输入字段指定最大长度?是否有任何理由不对所有文本字段使用ntext

+1

除了使用过时型的它增加了一个额外的理由不是最这里的答案仍然适用。 [总是使用nvarchar(MAX)有什么缺点?](http://stackoverflow.com/q/148398/73226) –

回答

5

不使用ntext的一个原因是它将从未来的SQL Server版本中删除。

http://msdn.microsoft.com/en-us/library/ms187993.aspx

您应该使用nvarchar(max)而不是ntext

我不会为所有文本字段使用nvarchar(max)。我喜欢控制存储的内容和存储量。例如,如果您知道需要多少文本,那么构建需要显示信息的客户端会更容易。另外,想要做坏事的用户可以在三部曲“希契徒步旅行者指南”的五本书中填写一个邮政编码字段。并不是书籍不好,但它不应该是邮政编码的一部分。

0

另一个原因从它是一个折旧类型分开添加到这是NTEXT不能被用作一个操作数的UNION,INTERSECT或EXCEPT运算符。

您会收到以下错误消息

数据类型NTEXT不能作为操作数的UNION, 相交或EXCEPT运算符,因为它是没有可比性的。

我建议停止使用文本,因为它已经过时,将它转换为NVARCHAR(MAX):

Reference

相关问题