在构建我的应用程序的模式时,我遇到了一个问题。
什么时候使用 varchar(max)
和 nvarchar(max)
。我的意思是应该使用它的确切用例。我已经在网上搜索过了,但是我没有找到确切的答案。
有人能建议一些确切的用例吗?
在构建我的应用程序的模式时,我遇到了一个问题。
什么时候使用 varchar(max)
和 nvarchar(max)
。我的意思是应该使用它的确切用例。我已经在网上搜索过了,但是我没有找到确切的答案。
有人能建议一些确切的用例吗?
此为Microsoft SQL Server:
NVARCHAR
是 Unicode - 每个字符占用2个字节,因此最多可容纳10亿个字符;支持东亚、阿拉伯、希伯来、西里尔等字符。
VARCHAR
是非Unicode - 每个字符占用1个字节,最大容量为20亿个字符,但仅限于SQL Server使用的字符集 - 无法支持前面提到的那些语言。
VARCHAR(MAX)
,因为它是SQL Server语法,在标准SQL中有一个名为CLOB
的CHARACTER LARGE OBJECT
。 - dnoethVarchar(max)
Varchar字段的大小可以达到数据库的限制,不同数据库的限制也不同:Oracle 9i数据库的限制为4000字节,MySQL数据库的限制为65535字节(对于整个行),而Microsoft SQL Server 2005的限制为8000个字符(除非使用varchar(max),其最大存储容量为...)
nvarchar(max)
abcdefg n定义了字符串长度,可以是1到4000的值。max表示最大存储大小为2^31-1字节(2 GB)。存储大小以字节为单位,是输入数据的实际长度的两倍加2个字节。nvarchar的ISO同义词为national char varying和national character varying。
如果你需要存储Unicode字符,应该使用nvarchar。如果只需要存储非Unicode字符,则可以使用varchar。