我有一个名为“事件”的表。列具有“持续时间”-这是该事件持续的时间。

这应该是哪种数据库类型?整数? (片刻之间)?

将来,我将执行以下语句:

If now() > event.duration  THEN don't display the event.

最佳答案

在MySQL中,有一个称为TIME的列类型可以用来存储持续时间:


  MySQL检索并以“ HH:MM:SS”格式(或“ HHH:MM:SS”格式表示较大的小时值)显示TIME值。 TIME值的范围可以从“ -838:59:59”到“ 838:59:59”。小时部分可能是如此之大,因为“时间”类型不仅可以用来表示一天中的某个时间(必须少于24小时),而且可以用来表示经过的时间或两个事件之间的时间间隔(可能远大于24小时,甚至是负面的)。


特别要注意的是,该限制仅为839小时,因此,如果您需要更多时间,则可能更喜欢使用整数字段。

如果只想获取短于特定持续时间的事件,则可以使用WHERE子句来完成。例如,仅获取持续时间少于10小时的事件:

SELECT * From Event WHERE Duration < '10:00:00'

关于mysql - 这应该是哪个数据库字段?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2565974/

10-13 03:50