sql-server - VARCHAR 完全像 20 世纪 90 年代吗?

标签 sql-server nvarchar

  1. VARCHAR 不存储 Unicode 字符。
  2. NVARCHAR 确实存储 Unicode 字符。
  3. 当今的应用程序应始终兼容 Unicode。
  4. NVARCHAR 需要两倍的空间来存储它。
  5. 第 4 点并不重要,因为存储空间非常便宜。

因此:当今设计 SQL Server 数据库时,应始终使用 NVARCHAR。

这个推理合理吗?有人不同意其中的任何前提吗? 现在有什么理由选择 VARCHAR 而不是 NVARCHAR?

最佳答案

您将数据类型与将存储在列中的数据进行匹配。通过类似的论点,您可能会说为什么不将所有数据存储在 NVARCHAR 列中,因为数字和日期可以表示为数字字符串。

如果要存储在列中的数据的最佳匹配是 VARCHAR,则使用它。

关于sql-server - VARCHAR 完全像 20 世纪 90 年代吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/312170/

相关文章:

php - 如何获取最后一个完整的 MS SQL Server 错误消息?

c# - EF6 : Foreign keys are not recognized on model generation for Sql Server DB

nhibernate - FluentNHibernate 和 VARCHAR 列

sql - NVarchar(MAX) 用于短字符串

sql-server - 将 Oracle 数据(和索引)移动到 SQL-Server - 数据大写

c# - 保护数据库行免于手动修改

java - 将国家字符插入 oracle NCHAR 或 NVARCHAR 列不起作用

sql-server - SQL Server 2008 Nvarchar(Max) 连接 - 截断问题

string - List<string> 的 linq 查询语法

sql-server - 在 Excel-VBA/SQL : Login failed for user "testuser" 上