2

私はこの問題を 1 日経験してきましたが、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');

秒は時間データではなく時間間隔の尺度です - したがって、これはある種の参照データを意味します - しかし、選択するものがたくさんある場合、どれが欲しいですか? 1 つの解決策は、独自のデータムを定義することです。

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

または、Unix エポックを使用します。

SELECT 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 に答える