【问题标题】:My MySQL results at Excel sheets doesn't work good我在 Excel 工作表上的 MySQL 结果不能正常工作
【发布时间】:2014-03-21 12:29:26
【问题描述】:

我有一张带有 My SQL 以小时数格式(无日期)导入数据的工作表,但超过 24:00:00 当我刷新和导入数据时,Excel 会显示: 11:46:02 如果我将时间格式更改为 [h]:mm:ss Excel 会显示: 1001243:46:02 在等式收据中,Excel 向我显示: 20/03/2014 11:46:02

通过这种方式,我认为它导入了今天日期的数据。事实上,我意识到 Excel 应该导入日期为 01/01/1990 的数据,然后总和保持正确。我认为它将 23:59:59 之后的超出时间解释为日期,但我只是假设。

我有另一个来自 MySQL 的具有相同数据库的工作表,并且这个数字工作正确,所以我认为问题出在 Excel 2013 上,但我找不到解决方案。

查询是:

SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(TIMEDIFF(TIME(FROM_UNIXTIME(ch.datafinal)),TIME(FROM‌​_UNIXTIME(ch.datainicial)))))) AS tempo, usu.nomecompleto FROM usuarios usu LEFT JOIN chat_historicocliente ch ON (usu.codusuario = ch.operador) WHERE EXTRACT(MONTH FROM FROM_UNIXTIME(ch.datainicial)) = 02 AND EXTRACT(YEAR FROM FROM_UNIXTIME(ch.datainicial)) = 2014 GROUP BY usu.nomecompleto 

所有时间大于 24 小时的查询都有这个问题 谢谢

【问题讨论】:

  • 检查列格式。您可以将其强制为文本以保持原始值
  • 什么都没发生,如果我选择格式[h]:mm:ss,结果是一样的。
  • 如何在excel中打开数据?复制/粘贴、文本文件、...在到达电子表格之前,值是否有可能损坏?
  • 我使用 ODBC 驱动程序从 MySQL Querys Connection 导入数据。数据在表格中自动更新。
  • 如果我在 SQLYog 上运行查询(例如),它会返回我想要的结果。但是 Excel 中的数据在单元格中是 Unix 格式的。我无法配置 Excel 以保持格式。

标签: mysql excel ms-office excel-2013


【解决方案1】:

您的“节奏”是 SEC_TO_TIME() 的结果,根据您的输入可以是文字或数字。
doc

mysql> SELECT SEC_TO_TIME(2378);
        -> '00:39:38'
mysql> SELECT SEC_TO_TIME(2378) + 0;
        -> 3938

您很可能属于第二类

【讨论】:

  • 它返回其他结果,但仍然错误。 Excel 将其作为日期导入,更改单元格格式不会改变任何内容。我放弃了尝试解决这个问题,因为我在这方面花了很多时间,我使用 SQLYog 执行查询并手动添加到我的表中。谢谢你帮助我。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-04-07
  • 2011-06-16
  • 1970-01-01
相关资源
最近更新 更多