SQL Server中的日期、时间和datetimeoffset对应的C#数据类型是什么?

42

在SQL Server中,哪些C#数据类型最适合作为日期数据类型的等效类型?我特别需要:

  • date
  • time
  • datetimeoffset

由于三个答案几乎同时出现,它们共同构成了一个连贯的解决方案。回过头来看,我认为我把错误的答案标记为正确的,但从某种意义上来说,它们都是正确的。 我知道信息在MSDN上,但就是找不到它! - Paul Suart
3个回答

53

以下是与SQL Server数据类型datetimedatetimeoffset对应的CLR数据类型:

date - DateTime, Nullable<DateTime>
time - TimeSpan, Nullable<TimeSpan>
datetimeoffset - DateTimeOffset, Nullable<DateTimeOffset>

请注意,您可以在这里找到所有SQL Server数据类型及其CLR等效项的列表,映射CLR参数数据


1
TimeSpan 不适用于 SQL 的 time 类型。SQL 类型只能保存最多 24 小时,而 .NET 的 TimeSpan 包括天、月和年。 更多详情请参见链接:https://dev59.com/BWoy5IYBdhLWcg3wguWS - Hefaistos68

5

4
新的数据类型仅在安装了.NET Framework 3.5 SP1后才支持。
  • SqlDbType.Date

  • SqlDbType.Time

  • SqlDbType.DateTime2

  • SqlDbType.DateTimeOffSet

如需详尽信息,请参见SQL Server 2008中的日期和时间数据

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接