mysql表中的时间列
Posted
技术标签:
【中文标题】mysql表中的时间列【英文标题】:Time column in mysql table 【发布时间】:2014-04-25 21:41:07 【问题描述】:我想在mysql表中存储一个时间值,
1345:55
现在是 1345 小时 55 分钟。列应该有什么类型?
如果我想使用 mysqldb
模块将时间变量从 python 传递到此列,我应该在 python 中使用哪种时间类型? datetime.timedelta
?
【问题讨论】:
你需要支持什么范围的值? 您需要什么级别的粒度?分钟?秒?毫秒?微秒? 分钟就足够了。 【参考方案1】:一般来说,可以使用 MySQL 的 TIME
数据类型来存储时间值:
MySQL 以
'HH:MM:SS'
格式检索和显示TIME
值(或用于大小时值的'HHH:MM:SS'
格式)。TIME
值的范围可以从'-838:59:59'
到'838:59:59'
。
显然,在您的情况下,这不足以满足所需的值范围。因此,我建议您将该值转换为整数分钟数并将结果存储在 4 字节 INT UNSIGNED
列中(能够存储 0 到 4294967295 范围内的值,表示 0:00 到 71582788:15) .
【讨论】:
谢谢,如果“843:45”(843 小时 45 分钟)写入该字段时,我应该使用哪种 python 数据类型? @alwbtc:我对 Python 了解不多,但timedelta
看起来很有前途。以上是关于mysql表中的时间列的主要内容,如果未能解决你的问题,请参考以下文章