- VARCHAR 不存储 Unicode 字符。
- NVARCHAR 确实存储 Unicode 字符。
- 当今的应用程序应始终兼容 Unicode。
- NVARCHAR 需要两倍的空间来存储它。
- 第 4 点并不重要,因为存储空间非常便宜。
因此:当今设计 SQL Server 数据库时,应始终使用 NVARCHAR。
这个推理合理吗?有人不同意其中的任何前提吗? 现在有什么理由选择 VARCHAR 而不是 NVARCHAR?
最佳答案
您将数据类型与将存储在列中的数据进行匹配。通过类似的论点,您可能会说为什么不将所有数据存储在 NVARCHAR 列中,因为数字和日期可以表示为数字字符串。
如果要存储在列中的数据的最佳匹配是 VARCHAR,则使用它。
关于sql-server - VARCHAR 完全像 20 世纪 90 年代吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312170/