我使用Excel制作一个MSQuery来从MySql中的表中获取一些正常工作的字段,但是有一个列在MySQL中有一个时间格式,Excel在datetime格式中提供了这个。
我可以在Excel格式化单元格,以便它显示格式hh:mm的时间,这不是问题,但我不得不使用数据库中的这些字段在Excel中进行一些计算,这导致我的问题:我不能当总和大于24小时时,对这些字段进行总结,因为那时我只得到小时的值,而不是从天数乘以24(例如,而不是25:15,我只得到1:15)。
通常我使用这种格式[hh]:mm所以会显示所有值(即使超过24小时)但这在这里不起作用,因为我得到一个非常高的值(例如:1017144:15)。这样做的原因是,Excel为每个字段添加到今天的临时日期(例如12:00将于2016年1月12日12点12分),并且每次在该总和中添加该日期的值将是另外添加。
我在MSQuery中使用以下语句尝试了它:
SELECT
DATE_FORMAT(entry.timeBegin, '%h:%i') AS 'Beginn',
entry.timeEnd AS 'Ende',
TIME(entry.pause) AS 'Pause'
FROM timetable.entry entry<br>
所有3列在MySQL的数据库中都有格式hh:mm。 Ende和Pause的行为与上面描述的相似,并且Beginn以正确的方式格式化(只是没有通过Excel格式化字段)但是字段的内容具有类型字符串,因此,Excel在计算时始终对这些字段使用0(零)他们,所以我总是0总和。 我知道我可以在MySQL中构建总和,但这对我来说不是解决方案,因为用户可以在Excel中设置一些过滤器,这在查询中构建起来很复杂,特别是这只是更难构造的一部分。
答案 0 :(得分:0)
好的,这里有几个例子。 &#39;初学者&#39;总是提供0:00(如上所述)和'Ende&#39;还有&#39;暂停&#39;总是等于一起。所以我们必须考虑使用hh:mm和[hh]:mm格式的Ende或Pause:
我没有尝试过PowerQuery,因为到目前为止我还不知道它,我不知道它是否在Excel或MS中。我不想为每个用户在PC上安装额外的工具。如果我只需将它放入我的Excel表中,那么如果功能正确,它可以是一个解决方案。
补充:我关注PowerQuery并发现这会给我带来问题,因为大多数用户使用的是MS Office 2010,而Excel 2010的要求是Microsoft Office 2010 Professional Plus mit软件保障,而我们公司不提供软件保障功能。
已添加:为了更清晰,我在Excel中添加了截图:
screenshot of Excel