什么是有意义的数据类型来节省时间

HCL*_*HCL 5 .net c# sql-server database-design

什么是在.net中节省时间的好数据类型?

是使用decimal类型更好还是double数据类型更合适.有几个小时,我的意思是:

  • 2两个小时
  • 1.5分钟,90分钟
  • 8.25小时15分钟.

Mar*_*ers 12

表示数小时的好方法是使用TimeSpan:

TimeSpan hours = TimeSpan.FromHours(2);
Run Code Online (Sandbox Code Playgroud)

鉴于我之间的选择decimal或者double我可能会选择,double因为通常没有期望确切地表示时间量.如果您需要小数小时的精确十进制表示(这似乎不太可能),那么请使用decimal.

您还可以考虑将其存储为整数,例如秒,毫秒或刻度.


Ode*_*ded 6

存储小时数的最佳数据类型是为其设计的数据类型 - TimeSpan.

它具有允许您添加/减去/转换它的方法.

至于数据库中的存储,它实际上取决于您使用它的原因以及需要什么样的分辨率.

我会使用time数据类型 - 因为它将保持范围:

00:00:00.0000000至23:59:59.9999999

但是,如果您需要在此字段中保留超过24小时,您可能需要考虑tinyintint保持分钟数(假设这是您需要的最大时间分辨率).