回答

收藏

varchar和nvarchar有什么区别?

技术问答 技术问答 240 人阅读 | 0 人回复 | 2023-09-14

仅仅是nvarchar支持多字节字符吗?如果是这样的话,除了存储问题,真的有什么要用的?varchars吗?
( F" H7 ]! d- ~' x: d                                                                ; Q) Y" p. r6 H/ m! T4 ]
    解决方案:                                                                1 q7 _# `. [5 g4 d2 N: @# B
                                                                一nvarchar任何列都可以存储Unicode数据。甲varchar列被限制为8位代码页。有人认为varchar它应该被使用,因为它占用的空间更少。我相信这不是正确的答案。代码页面不兼容是一种痛苦,Unicode这是解决代码页面问题的方法。现在,有了便宜的磁盘和内存,实际上没有理由浪费时间和代码页面。- }8 ]: m4 |3 B4 Z& }5 b( T
内部使用所有现代操作系统和开发平台Unicode。通过使用nvarchar而不是varchar,每次从数据库读取或写入数据库时,都可以避免编码转换。转换需要时间,容易出错。从转换错误中恢复并不是一个简单的问题。
8 }) H% v! v1 ~% g+ {假如只用ASCII我仍然建议在数据库中使用应用程序接口Unicode。操作系统和数据库排序算法Unicode一起工作更好。与其他系统接口时,Unicode避免转换。你将为未来做准备。而且,即使你享受完整Unicode存储的一些好处,你总能验证你必须维护的任何旧系统的数据限制在7位ASCII。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则