讨论sql server中nvarchar和varchar各有什么优缺点

junqiang 2003-10-16 09:05:42
我原来在设计数据库时,不管是否有中文字符都用varchar,有时对中文字符也用nvarchar。
但最近看Duwamish7数据库时,发现他所有字符串都市用nvarchar,我知道一个nvarchar要占两个字节,但不知微软这样做有什么好处。

各位批教。
...全文
286 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
uffeng 2003-10-16
  • 打赏
  • 举报
回复
考虑到 操作系统不同 所有会又NVARCHAR 和 varchar 的区别
也许你开发的时候在中文WIN平台,但是在日文win 平台使用,如果使用varchar 就会出现乱码
所有这时候就要使用nvachar类型,但是存储大小比varchar小了一半
zag 2003-10-16
  • 打赏
  • 举报
回复
nvarchar是放的是Unicode字符
varchar放的是非Unicode字符
junqiang 2003-10-16
  • 打赏
  • 举报
回复
to qimini(循序渐进) :
你说的字符串截取是指的sql server中的操作吧,若在.net中我想可能没有这个问题,因为.net中的string都是双字节。
qimini 2003-10-16
  • 打赏
  • 举报
回复
涉及到中文字段的建议用nvarchar,如果你曾尝试对varchar格式的字符串做截取、比对的操作时。你就会明白为什么会有nvarchar了
chenwei518 2003-10-16
  • 打赏
  • 举报
回复
nvarchar比varchar耗费资源少
xhzuo 2003-10-16
  • 打赏
  • 举报
回复
应该是存储数据量之间的差别
herofyf 2003-10-16
  • 打赏
  • 举报
回复
1.nvarchar(n)
包含 n 个字符的可变长度 Unicode 字符数据。n 的值必须介于 1 与 4,000 之间。字节的存储大小是所输入字符个数的两倍
2.varchar[(n)]
长度为 n 个字节的可变长度且非 Unicode 的字符数据。n 必须是一个介于 1 和 8,000 之间的数值。存储大小为输入数据的字节的实际长度
我想没什么无非是需求和空间方面考虑的

110,571

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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