我选择在Microsoft SQL Server 2008中存储纯文本的数据类型是什么?

Ser*_*pia 6 c# sql sql-server string

例如,我的C#(Linq-to-SQL)中有一个字符串字段Name; SQL字段必须是什么数据类型?

VARCHAR?NCHAR?我糊涂了.

Rob*_*nik 10

SQL Server 2005+等效

与C#等效的最佳SQL类型Stringnvarchar(max).它存储与C#String对象实例完全相同的文本量.但要注意.选择其他[n][var]char类型在数据存储上会更优化(意味着它们可以更快地工作),但是选择其中一种很大程度上取决于您希望存储的数据.

  • char(n) 用于固定长度的字符串(长度为n),因此如果您的字符串大小不同,您可以选择此类型(即产品密钥)
  • varchar(n) 用于长度为n的变量字符串长度(即电子邮件地址)
  • varchar(max)用于长度不超过2G字符的变量字符串长度,因此与C#String类型基本相同(即博客文章内容)
  • 在这些类型之前加上n,你的数据以双字节(unicode)存储,因此你的字符串在多语言应用程序中更加通用

预SQL Server 2005

在SQL Server 2005版之前,[n]varchar(max)不支持类型.你不得不使用[n]text类型,但它们的存储方式不同,因此与[n][var]char替代方案相比要慢得多,而且开发人员处理和操作也更麻烦.