【发布时间】:2010-09-26 13:30:28
【问题描述】:
我的 MySQL 查询结构如下:
SELECT time(c.start_time),
time(c.end_time),
time(c.end_time) - time(c.start_time) as 'opening_hours'
FROM my_shop c;
开始和结束时间的数据分别是1970-01-01 07:00:00和1970-01-01 19:00:00。
在我的本地机器上,这个查询返回:
| 07:00:00 | 19:00:00 | 12 |
但是在远程机器(生产)上它正在返回
| 07:00:00 | 19:00:00 | 120000 |
关于为什么会发生这种情况以及如何解决它的任何想法?
两组数据是相同的,据我所知,两个 MySQL 安装也是相同的。
非常感谢任何帮助。
更新:
似乎 MySQL 的版本略有不同:5.0.27-community-nt 与 5.0.51b-community-nt。这很可能是原因。
djt 提出了一个很好的观点,即 Bill 的解决方案没有考虑分钟数。以及这个 djt 的解决方案并不是我所需要的。
所以我猜这个问题已经演变成如何减去两次,包括分钟,这样:
1970-01-01 19:00:00 - 1970-01-01 07:00:00 = 12
1970-01-01 19:00:00 - 1970-01-01 07:30:00 = 11.5
1970-01-01 19:00:00 - 1970-01-01 07:45:00 = 11.25
等等
【问题讨论】:
标签: mysql date subtraction