PhpMyAdmin 将 SUBTIME() 输出显示为十六进制转储
PhpMyAdmin displays SUBTIME() output as hexadecimal dump
当我执行 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_subtime 中的示例时,我没有得到那里显示的格式的答案。这是示例:
mysql> SELECT SUBTIME('2007-12-31 23:59:59.999999','1 1:1:1.000002');
-> '2007-12-30 22:58:58.999997'
但我得到的答案是:
323030372d31322d33302032323a35383a35382e393939393937
如果您从该答案中删除每隔一个字母,您会得到
2007d12d30022a58a58e999997
...这几乎是预期的字符串。也许从某种内部格式到实际表示的转换出现了某种错误?
我使用 PhpMyAdmin 在我的提供商的 Web 服务器上执行 SELECT。在我的本地机器上使用 PhpMyAdmin 它工作正常,即如 MySQL 文档中所示。
编辑: 我得到的答案实际上是 DATETIME 字符串的十六进制字符值的字符串表示形式,参见 http://www.asciitable.com/。但我还是不知道这是怎么回事。
我相信你说的是这个问题:https://github.com/phpmyadmin/phpmyadmin/issues/6321 将在 4.6.0 版中修复。我刚刚测试了 4.6.0 的预发布版本,它看起来是正确的,所以我建议在 4.6.0 可用后升级。
当我执行 http://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_subtime 中的示例时,我没有得到那里显示的格式的答案。这是示例:
mysql> SELECT SUBTIME('2007-12-31 23:59:59.999999','1 1:1:1.000002');
-> '2007-12-30 22:58:58.999997'
但我得到的答案是:
323030372d31322d33302032323a35383a35382e393939393937
如果您从该答案中删除每隔一个字母,您会得到
2007d12d30022a58a58e999997
...这几乎是预期的字符串。也许从某种内部格式到实际表示的转换出现了某种错误?
我使用 PhpMyAdmin 在我的提供商的 Web 服务器上执行 SELECT。在我的本地机器上使用 PhpMyAdmin 它工作正常,即如 MySQL 文档中所示。
编辑: 我得到的答案实际上是 DATETIME 字符串的十六进制字符值的字符串表示形式,参见 http://www.asciitable.com/。但我还是不知道这是怎么回事。
我相信你说的是这个问题:https://github.com/phpmyadmin/phpmyadmin/issues/6321 将在 4.6.0 版中修复。我刚刚测试了 4.6.0 的预发布版本,它看起来是正确的,所以我建议在 4.6.0 可用后升级。