我有一个名为“Event”的表。列具有“持续时间” - 即该事件持续的时间。
这应该是什么数据库类型?整数? (几秒钟)?
将来,我会做以下的陈述:
If now() > event.duration THEN don't display the event.
答案 0 :(得分:0)
在MySQL中,有一种名为TIME
的列类型,可用于存储持续时间:
MySQL以'HH:MM:SS'格式(或大小时值的'HHH:MM:SS'格式)检索并显示TIME值。 TIME值的范围可以从'-838:59:59'到'838:59:59'。小时部分可能太大,因为TIME类型不仅可以用来表示一天中的时间(必须小于24小时),还可以用于表示两个事件之间的经过时间或时间间隔(可能远大于24小时,甚至是负面的)。
请特别注意,该限制仅为839小时,因此如果您需要更多,您可能更愿意使用整数字段。
如果您只想获取短于特定持续时间的事件,可以使用WHERE子句执行此操作。例如,要仅获取持续时间少于10小时的事件:
SELECT * From Event WHERE Duration < '10:00:00'