我有一个mysql查询来获取会话的总时间。查询是
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(end_time,start_time)))) as total FROM session where helper_mode = 1
当我在我的mysql GUI中运行此查询时,我得到了正确的结果
total
35:34:27
但是当我使用django游标运行相同的查询时,我得到一个像
这样的异常小时必须在0..23
我的cusror查询是,
cursor = connection.cursor()
cursor.execute("SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(end_time,start_time)))) as total FROM session where helper_mode = 1")
当总时间超过24小时时发生。为什么我得到这个例外?任何帮助将不胜感激。
答案 0 :(得分:0)
我希望问题是分配查询列值的Python对象(数据类型)。
Python time
对象表示给定日期内的时间。因此,该值仅限于'00:00:00.000000'
和'23:59:59.999999'
之间的值。超出该范围的值对于time
对象无效。
https://docs.python.org/3.6/library/datetime.html#time-objects
为了存储"持续时间",Python支持timedelta
对象:
https://docs.python.org/3.6/library/datetime.html#datetime.timedelta