2

走る

select timestamp('2013-10-17 19:00:45') - timestamp('2013-10-17 18:59:37');

そして、それは戻ります

4108.000000

なんで?それはうるう日でtimestampはなく、正しい関数であり、時間の境界を越えない時間に対して減算が機能します。

ここでの修正の 1 つは、unix_timestampの代わりに使用することですtimestamp。しかし、それはまだここで何が起こっているのかを説明していません.

4

1 に答える 1

3

日時を減算すると、最初に次の形式の数値に変換されます。

YYYYMMDDHHMMSS.uuuuuu

したがって、次の結果が表示されます。

mysql> select 20131017190045.000000 - 20131017185937.000000 diff;
+-------------+
| diff        |
+-------------+
| 4108.000000 |
+-------------+
于 2013-10-17T19:27:20.520 に答える