我应该使用什么数据类型来存储文本数据

本文关键字:存储 文本 数据 数据类型 什么 我应该 | 更新日期: 2023-09-27 18:26:56

我正在制作一个配置文件系统,我在数据库中有一个名为AboutMe的字段,其数据类型是text

此字段最多可包含30000个字符。出现的问题是,如果我使用了多达27000个字符(或超过4000个),它们不会显示在UI上,而是会截断内容,只显示几个字符。如果我使用4000或超过4000个字符,UI显示的少于4000个字符

我使用的是SQL server 2008 R2数据库。

我应该使用什么数据类型来存储文本数据

从SQL Server 2005起,应将VARCHAR(MAX)用于非Unicode文本,或将NVARCHAR(MAX)用于Unicode文本(每个字符最多使用2个字节)。TEXTNTEXT已被弃用,不应再使用

这些是当前的数据类型,可以像对待任何其他文本/字符串列一样对待它们。所有的字符串函数都能很好地处理它们。

其中每列的最大容量为2GByte数据,即20亿个非Unicode字符或10亿个Unicode字符。

考虑到像Tolstoj的《战争与和平》这样一本很长的书可能只有500万个字符或更少(5.6亿字),这将足够用Unicode存储该书至少200次——对于大多数应用程序来说应该足够了。。。。

text数据类型已弃用,因此应改用varchar(max)。

如果UI指的是SQL Managament Studio,那么它不会显示大的文本值是正确的。出于性能原因,编辑器有一些类似的限制。

当您以编程方式访问数据时,没有这样的限制。但是,您应该注意,大文本值是在单独的数据流中发送的,因此,如果每条记录有多个大文本值,则必须按照选择它们的顺序访问它们。

您可以使用ntext数据类型。