我必须在SQL Server 2008数据库中存储持续时间.这通常是怎么做的?

例如,我必须能够存储这样的值:5分钟、8小时、10天等等.

我在考虑将其存储在一个小日期时间字段中,格式为mindatetime+timeSpan.或者可以作为表示到某个最小日期的偏移量的int.

有谁有这方面的经验吗?

推荐答案

如果开始时间很重要(例如,因为您记录了一个事件),那么您总是希望将其存储为日期时间,以便稍后可以回读,存储后续持续时间可以只是另一个"结束"日期时间.

如果它是一个任意的持续时间(电影长度等),我会简单地将其存储为一个整数中的秒,然后在表示层中添加美化代码以将其显示为小时/天等.

Database相关问答推荐

找不到复制副本集

触发器作为完整性的判断约束

如果我想支持我的工作负载,我需要多少个 node ?

如何设计 SaaS 数据库?

如果限制在本地机器上,最好使用 R 和 SQL

在 sql server 中存储持续时间(时间跨度)

ORM vs 传统数据库查询,它们的字段是什么?

什么是 Scalar标量查询?

如何在大型数据库中使用 typeahead.js

数据库设计—应该避免一对一的关系吗?

在现有数据库上使用 liquibase

没有自动增量的sqlalchemy主键

在内存中创建 SQLite 数据库

一个表可以有两个外键吗?

表格字段可以包含连字符吗?

在数据库中存储业务逻辑

在将字符串插入数据库期间单引号转义

使用批处理文件执行一组 SQL 查询?

存储信用卡号 - PCI?

最小覆盖和功能依赖