一、基本概念
本文仅讨论SQL数据类型
varchar 用于存储变长字符数据,其长度不超过 8KB。
char 用于存储定长字符数据,其长度最多为 8KB。
nvarchar用于存储可变长度Unicode字符数据。其长度最多为4000字符。
(因此当遇见数据库查询为????时,不妨检查一下相关编码是否为Unicode,然后更换varchar 为nvarchar,实际上我就为了这点醋包了盘饺子(指查个bug写了这篇文))
二、具体区别
类别 | 类型 | 长度 | 性能 |
---|---|---|---|
char | 非Unicode | 初始定义(定长) | 索引效率高 |
vchar | 非Unicode | 最大8KB(变长) | 空间分配灵活 |
nvchar | 非Unicode | 最大4000(变长) | 字符用两个字节表示 |