我用 Excel 制作了一个 MSQuery 以从 MySql 中的表中获取一些字段,这些字段工作正常,但是在 MySQL 中有一个列具有时间格式,而 Excel 以日期时间格式为我提供了这一点。我可以在 Excel 中格式化单元格,以便它以 hh:mm 格式显示时间,这不是问题,但我必须使用数据库中的这些字段在 Excel 中进行一些计算,这导致了我的问题:我不能当总和大于 24 小时时,对这些字段求和,因为这样我只得到小时的值,而不是天数乘以 24(例如,我只得到 1:15 而不是 25:15)。通常我使用这种格式 [hh]:mm 所以会显示所有值(甚至超过 24 小时),但这在这里不起作用,因为我得到一个非常高的值(例如:1017144:15)。这样做的原因是,Excel 为每个字段添加到今天的实际日期的时间(例如 12:00 将是 12.01.2016 12:00),并且对于总和中的每个时间,日期的值将被额外添加。我在 MSQuery 中使用以下语句进行了尝试:
SELECT
DATE_FORMAT(entry.timeBegin, '%h:%i') AS 'Beginn',
entry.timeEnd AS 'Ende',
TIME(entry.pause) AS 'Pause'
FROM timetable.entry entry<br>
MySQL 数据库中的所有 3 列都具有 hh:mm 格式。Ende 和 Pause 的行为如上所述,并且 Beginn 以正确的方式格式化(只是没有通过 Excel 格式化字段),但字段的内容具有字符串类型,因此,Excel 在计算时总是对这些字段使用 0(零)他们,所以我总是得到 0 作为总和。我知道我可以在 MySQL 中构建总和,但这对我来说不是解决方案,因为用户可以在 Excel 中设置一些过滤器,这在查询中构建起来很复杂,尤其是这只是更困难的构造的一部分。