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

newabby 2003-01-17 10:45:05
nvarchar和varchar的区别,什么时候用nvarchar,什么时候用varchar.
...全文
348 5 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
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 数据

34,837

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧