TEXT和VARCHAR数据字段之间的区别是什么?

时间:2010-08-17 11:26:17

标签: text types varchar

我有以下困惑 -
1.哪种数据类型用于更大量的数据存储
2.当我们指定varcha(100)时,这100表示​​100 characters100 bits or bytes

5 个答案:

答案 0 :(得分:4)

在SQL Server上

varchar(100)= 100个ascii字符和102个字节

nvarchar(100)= 100个unicode / ascii字符和202个字节的存储空间

text和ntext最高可达2GB但不推荐使用(从sql server 2005开始),你应该使用varchar(max)和nvarchar(max),这两者都要高达2 GB而不是

答案 1 :(得分:2)

TEXT将存储高达64K - MySQL(例如)也提供变体:TINYTEXT(256字节),MEDIUMTEXT(16MB)和LONGTEXT(4GB)。

VARCHAR(100)列最多可容纳100个字符的文本。您可以将VARBINARY用于二进制数据,在这种情况下,VARBINARY(100)字段最多可容纳100个字节。

答案 2 :(得分:2)

如果使用MySQL,差异主要与storage requirements

有关
  • VARCHARL + 1个字节,如果列值需要0 - 255个字节,L + 2个字节,如果值可能需要超过255个字节

  • TEXTL + 2字节,其中L < 2^16

其中L是条目的实际大小

答案 3 :(得分:1)

假设您在谈论MS SQL Server:

1)varchar(max)varchar(max)是TEXT

的替代品

2)varchar(100) = 100个字符(单字节ascii字符)

(而nvarchar(100) = 100个字符(双字节unicode字符))

参考:char and varchar (Transact-SQL)

[刚发现可能重复:ms sql server; varchar(MAX) vs TEXT]

答案 4 :(得分:0)

数据类型TEXT限制为4000个字符,其中新数据类型Varchar(max)用于存储最大字符长度或指定的长度

有关详细信息,请查看

http://databases.about.com/od/sqlserver/a/char_string.htm