导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

nvarchar和varchar的区别,什么时候用nvarchar,什么时候用varchar.

newabby 2003-01-17 10:45:05
nvarchar和varchar的区别,什么时候用nvarchar,什么时候用varchar.
...全文
307 点赞 收藏 5
写回复
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhujiechang 2003-01-17
对于什么时候用varchar和nvarchar没有说一定的.
也就是说一个汉字既可以存在varchar中,也可以存在nvarchar中.
那么对于汉字或者Unicode 数据到底存在varchar和nvarchar有什么区别呢?
下面例子说明一下:一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.
区别2:varchar的检索快于nvarchar,虽然是这样但微软下一个版本将统一nvarchar,听说的.
回复
zhujiechang 2003-01-17
对于什么时候用varchar和nvarchar没有说一定的.
也就是说一个汉字既可以存在varchar中,也可以存在nvarchar中.
那么对于汉字或者Unicode 数据到底存在varchar和nvarchar有什么区别呢?
下面例子说明一下:一个汉字占varchar(2),只占nvarchar(1),而字母只占varchar(1),那么在数据库字段求长度的时候,用varchar你就不一定知道它确切的知道它到底有几个字,如果用nvarchar,那么汉字也是nvarchar(1),字母也是nvarchar(1),那么已经很明显了.
区别2:varchar的检索快于nvarchar,虽然是这样但微软下一个版本将统一nvarchar,听说的.
回复
jimmyxing 2003-01-17
对呀,详细可以查阅帮助文件很详细:

长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度,而不是 n 个字节。所输入的数据字符长度可以为零。varchar 在 SQL-92 中的同义词为 char varying 或 character varying。

nvarchar(n)

包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍。所输入的数据字符长度可以为零。nvarchar 在 SQL-92 中的同义词为 national char varying 和 national character varying。

回复
yelook 2003-01-17
nvarchar:
不管是一个字符还是一个汉字,都存为2个字节
varchar:
汉字是2个字节,其他字符存为1个字节
其他好像没什么区别
回复
CABO 2003-01-17
varchar:非 Unicode 的字符数据
nvarchar: Unicode 数据
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告