gpt4 book ai didi

C# 字符串和 VARCHAR 和 NVARCHAR

转载 作者:行者123 更新时间:2023-11-30 20:48:24 24 4
gpt4 key购买 nike

我很好奇 C# 如何解释/存储来自 SQL Server 的不同数据类型,然后将这些数据类型存储在 C# 字符串变量中:

示例:

假设我有一个变量来保存从数据库调用中检索到的字符串值:

public string TransactionId {get; set;}

如果出现以下情况,TransactionId 中的值是否会有所不同:

  1. SQL Server 中的数据类型是 VARCHAR(8 位)
  2. SQL Server 中的数据类型是 NVARCHAR(16 位)

只是想知道这两种不同的数据类型如何存储在 C# 字符串类型中。 C# 会存储一个 8 位的 VARCHAR 值和一个 16 位的 NVARCHAR 值吗?

最佳答案

它们将以几乎完全相同的字符串类型存储。唯一的区别是,如您所知,SQL 数据库中的 UTF-16 或更大格式会占用数据库中更多的物理存储空间。例如,如果您仅使用 ASCII/UTF-8(任何 8 位有限字符集),您应该存储为 varchar。 C# 中的字符串值将表示完全相同,因为 nvarchar 和 varchar 都可以在本地转换为字符串。如果使用扩展字符并将其存储在 nvarchar 中,您的字符串的唯一内容差异将是。这些不会存储在 varchar 中。

也只是提供信息; SQL 类型中的 var 表示大小将根据赋予它的内容动态变化 varchar(n) 其中 n 是它可以达到的最大大小。与 varbinary(n) 等的工作方式相同。

关于C# 字符串和 VARCHAR 和 NVARCHAR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24676437/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com