【发布时间】:2014-07-04 04:36:54
【问题描述】:
默认将UserId 存储在NVARCHAR(128) 中。有人可以解释为什么它不将其存储在NVARCHAR 中吗?据我所知,GUID 只不过是数字、字母和破折号。是否需要NVARCHAR 才能正确存储?
【问题讨论】:
-
我相信 MS 已经公开解决了这个问题,但我没有链接
-
我不使用 varchar(15) 作为电话号码。我使用 nvarchar(15)。事实上,我开始将所有字符串类型值存储为 NVARCHAR。让技术为您服务。为什么使用 VARCHAR(10) 当您可以使用 NVARCHAR(10) 时,后者将去除困扰 VARCHAR 数据类型的填充。最糟糕的是,在查询从异构数据集中导入的值时,varchars 会导致不一致。
-
您能详细解释一下 NVARCHAR 和 VARCHAR 之间的区别吗?我的印象是 N 意味着它可以容纳不同的字符集。
-
@Lrb - 你能确认你指的是 SQL Server 数据类型吗?
-
@lrb: 因为在电话号码之类的东西上使用
NVARCHAR类型(永远不会有真正的 Unicode 字母),你基本上只是为你的每个条目浪费了 15 个字节表 ....
标签: c# asp.net sql-server asp.net-identity