sqlserver中 varchar 最大长度是多少?

如题所述

第1个回答  2022-11-16

最大长度8000,用max可以存储达到2G。

例如:

varchar [ ( n | max) ]

可变长度,非 Unicode 字符数据。n 的取值范围为 1 至 8,000。max 指示最大存储大小是 2^31-1 个字节。

在某些情况下,前台应用对过长的字串是无法正确处理的,比如一些表格控制,比如C++定义的字符串变量。

扩展资料:

注意事项

存储限制  

varchar 字段是将实际内容单独存储在聚簇索引之外,内容开头用1到2个字节表示实际长度(长度超过255时需要2个字节),因此最大长度不能超过65535。  

1、编码长度限制  

字符类型若为gbk,每个字符最多占2个字节,最大长度不能超过32766;  

字符类型若为utf8,每个字符最多占3个字节,最大长度不能超过21845。  

若定义的时候超过上述限制,则varchar字段会被强行转为text类型,并产生warning。  

2、行长度限制  

导致实际应用中varchar长度限制的是一个行定义的长度。 MySQL要求一个行的定义长度不能超过65535。若定义的表长度超过这个值,则提示  

ERROR 1118 (42000): Row size too large. The maximum row size for the used table type, not counting BLOBs, is 65535. You have to change some columns to TEXT or BLOBs。