【发布时间】:2014-06-02 16:20:27
【问题描述】:
在 mysql 数据库中添加日期时间类型列的最佳方法是什么?我尝试使用 DATE_ADD 但它仅在我添加单个日期/时间时才有效,例如:
DATE_ADD(start_date, INTERVAL :dayCount DAY)
这不起作用:
DATE_ADD(DATE_ADD(start_date, INTERVAL :dayCount DAY), INTERVAL :hourCount HOUR)
我尝试按照某些人的建议添加微秒:
$startMicro = strtotime($startDiff->format("%Y-%m-%d %H:%i:%s")) * 1000; // 943920000000
start=DATE_ADD(start, INTERVAL :startMicro MICROSECOND)
我最终做到了,它的工作原理: 在 PHP 中: $minutesDiff = (strtotime($start) - strtotime($row->start)) / 60; 在 SQL 语句中: start=DATE_ADD(开始,间隔:minutesDiff MINUTE)
感谢大家的帮助。
【问题讨论】:
-
嗨,更好的方法是添加 MICROSECOND,只需将您的时间量转换为微秒并添加它
-
@Dan Bracuk:为什么?是它是几列的唯一方法,我还必须为每个列创建一个完整的查询,还是我只是一遍又一遍地写下函数。如果可以的话,请给我一个例子。