Varchar(max)和nvarchar(max)之间的区别

时间:2015-06-16 06:27:19

标签: sql sqldatatypes

我在为我的应用程序建立架构时遇到了一个问题。

何时使用varchar(max)nvarchar(max)。我指的是应该应用它的确切用例。我也在网上冲浪,但我能得到确切的答案。

有人可以建议一些确切的用例。

4 个答案:

答案 0 :(得分:8)

这适用于Microsoft SQL Server

NVARCHAR Unicode - 每个字符2个字节,因此最多10亿字符;将处理东亚,阿拉伯,希伯来,西里尔等字符就好了。

VARCHAR 非Unicode - 每个字符1个字节,最大值。容量是20亿个字符,但仅限于SQL Server使用的字符集,基本上 - 不支持之前提到的那些语言

答案 1 :(得分:2)

Varchar(max)

Varchar字段可以是任何大小的限制,因数据库而异:Oracle 9i数据库的限制为4000字节,MySQL数据库的限制为65,535字节(对于整行)和Microsoft SQL Server 2005的字符数限制为8000个字符(除非使用varchar(max),它具有最大存储容量...

为nvarchar(最大)

abcdefg n定义字符串长度,可以是1到4,000之间的值。 max表示最大存储大小为2 ^ 31-1个字节(2 GB)。存储大小(以字节为单位)是输入数据的实际长度的两倍+ 2个字节。 nvarchar的ISO同义词是国家字符变化和国家字符变化。

答案 2 :(得分:0)

如果必须存储unicode char,则应使用nvarchar。如果只存储非unicode-char,则可以使用varchar。

答案 3 :(得分:0)

nvarchar用于unicode数据,而varchar仅用于最多8位代码页。 用例: 当你一般处理拉丁字母时,varchar很好,所以我们假设你有一个博客,用来写这个博客的语言是英文,在这种情况下,varchar是个不错的选择。 当您构建多语言应用程序时,nvarchar很好,因此您可以使用普通话,阿拉伯语等字符。

希望这会有所帮助。