加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql-server – 在SQL Server数据库中存储时间间隔的最佳方法是什

发布时间:2020-12-12 08:58:48 所属栏目:MsSql教程 来源:网络整理
导读:我有一个表,我想跟踪时间,所以有效的条目可能是: 1小时3分钟 47分钟 10小时 3分14秒 什么字段类型最适合用于此.我显然可以使用varchar.但是我认为可能会有更好的东西,因为我想运行查询以总计多个记录的时间量. 解决方法 不要使用字符类型来存储日期/时间信息
我有一个表,我想跟踪时间,所以有效的条目可能是:

> 1小时3分钟
> 47分钟
> 10小时
> 3分14秒

什么字段类型最适合用于此.我显然可以使用varchar.但是我认为可能会有更好的东西,因为我想运行查询以总计多个记录的时间量.

解决方法

不要使用字符类型来存储日期/时间信息.

在SQL Server 2008中,您有时间类型,如果您的时间间隔小于1天,则应该使用该类型.在以前的版本中,或者如果需要存储更大的间隔时间,则必须使用datetime或smalldatetime(取决于所需的精度).

另一个选择是选择一个时间单位 – 比如说分钟 – 只需使用一个int值来表示单位数.只需确保(a)您选择的单位实际上足够精确,可记录您需要跟踪的最小间隔,(b)实际的数字类型足够大以容纳您需要跟踪的最大间隔.一小时可能足以跟踪一天内的分钟数;另一方面,跟踪十年内的毫秒数将不得不将其存储为bigint.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读