我在为我的应用程序建立架构时遇到了一个问题。
何时使用varchar(max)
和nvarchar(max)
。我指的是应该应用它的确切用例。我也在网上冲浪,但我能得到确切的答案。
有人可以建议一些确切的用例。
答案 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很好,因此您可以使用普通话,阿拉伯语等字符。
希望这会有所帮助。