【问题标题】:Facing issues regarding using datetime/time/varchar datatypes in sql server面临有关在 sql server 中使用 datetime/time/varchar 数据类型的问题
【发布时间】:2016-07-21 06:53:27
【问题描述】:

我目前正在开发一个员工休假管理系统,我需要在 sql server 中处理 24 小时以上 的持续时间,但我找不到任何解决方案,但是使用 varchar 数据类型而不是 time/datetime 数据类型,因为 time/datetime 数据类型有其局限性。

但另一方面,我还要求将特定的 varchar 数据类型列用作 datetime 以便生成报告,以便最终 > 我的问题是

这种情况有什么替代方法吗?使用 varchar 作为 时间/日期时间? 一点帮助将不胜感激。 谢谢

【问题讨论】:

  • 请为您的情况提供任何示例。有点不清楚……
  • 您将 DateTime 视为 varchar 是完全错误的。正确使用 DateTime 对象会好得多。将 DateTime 视为 varchar 有局限性。
  • @jdweng 感谢您的评论。日期时间是否存储超过 24 小时的持续时间?
  • 是的,并且可以处理从世界各地收集数据的时区问题。将处理秒、分钟、日、星期几、年。它是一个可以处理回到 1/1/1900 的时间跨度的 double。
  • @jdweng 啊。我当然不知道。你能举个例子吗?

标签: c# sql-server datetime time


【解决方案1】:

如果我真的需要在数据库中保存 TimeSpan 或持续时间,我宁愿使用 BIGINT 数据类型。它可能是以秒为单位的总数或滴答声,然后在其他地方进行转换(使用 SQL Server 中的 DATEADD 函数或 C# 中的 TimeSpan 之类的东西)。

【讨论】:

  • 这其实是个好主意。让我试试这种方法,我会在这里回复你。谢谢!
猜你喜欢
  • 2015-05-10
  • 1970-01-01
  • 2010-10-08
  • 2013-11-12
  • 1970-01-01
  • 2020-02-28
  • 2012-03-25
  • 1970-01-01
相关资源
最近更新 更多