2

一天都在通过这个问题,很难理解为什么MySql不容易工作。

我正在尝试执行下面的语句,但它根本无法识别。

SELECT TO_SECONDS('2013-09-12 11:15:00');

我收到以下错误:

错误 1305 (42000):函数 db.to_seconds 不存在

我检查了 MySQL 的文档,这个功能从 5.5 版开始可用。所以,我更新了我以前的版本,现在我正在使用 6.0 ( Server version: 6.0.4-alpha-community-log MySQL Community Server (GPL)) 但仍然无法正常工作。

mysql> select version();
+---------------------------+
| version()                 |
+---------------------------+
| 6.0.4-alpha-community-log |
+---------------------------+
1 row in set (0.03 sec)

有谁知道发生了什么?

4

2 回答 2

1

TO_SECONDS('2013-09-12 11:15:00');

秒是时间间隔的度量而不是时间基准 - 因此这意味着某种参考基准 - 但是当有很多可供选择时,你想要哪个?一种解决方案是定义自己的数据:

SELECT TIME_DIFF('2013-09-12 11:15:00', '01-01-2000 00:00:00')

或者使用 Unix 纪元:

选择 UNIX_TIMESTAMP('2013-09-12 11:15:00')

于 2013-09-12T16:38:35.510 回答
1

我使用的是由 AppServ(Apache、MySQL、PHP、phpmyadmin)工具安装的 MySQL 6.0 版,而这个版本的 MySQL 不支持 TO_SECONDS 函数。安装 MySQL 5.5 后,它运行良好。

mysql> select to_seconds('2013-09-02 13:33:59');
+-----------------------------------+
| to_seconds('2013-09-02 13:33:59') |
+-----------------------------------+
|                       63545348039 |
+-----------------------------------+
1 row in set (0.00 sec)
于 2013-09-12T16:49:13.153 回答