私はsqlを書いて、現在の更新時刻と最終更新時刻の差分を計算しました。まず、CURRENT_TIMESTAMP - updated_time
を使用して、結果が時間単位秒で正しいように見えます。しかし、それは安定していない、時にはその結果は、正しいものよりずっと大きくなりました。そして、私はTIMESTAMPDIFF(SECOND, updated_time, CURRENT_TIMESTAMP)
に変更しました、すべてがOKです。私の質問は、トウの表現の違いは何ですか?はCURRENT_TIMESTAMPです - updated_timeはTIMESTAMPDIFF(SECOND、updated_time、CURRENT_TIMESTAMP)と同じです
0
A
答えて
2
CURRENT_TIMESTAMP()
またはCURRENT_TIMESTAMP
は、現在の時刻を示すNOW()
の同義語です。
編集2:
あなたの追加のコメントの後、私はあなたが何を求めているのか理解しました。 (私は最初の編集を削除しました)、これは不完全でやや間違っていました。
質問は、「CURRENT_TIMESTAMP - updated_time
の内部動作を説明する」です。
CURRENT_TIMESTAMP
は、「YYYY-MM-DD HH:MM:SS」またはYYYYMMDDHHMMSS形式で日付と時刻を返すことができます。 文脈に基づいて文字列または数値のいずれかを返すことができるのはおそらく混乱します。 ここには、 - (マイナス)演算子があるため、数値コンテキストがあります。
`String context`
SELECT CURRENT_TIMESTAMP();
-> '2017-07-04 08:50:26'
OR
`numeric context`
SELECT NOW() + 0;
-> 20170704085026
- (マイナス)演算子はのみ動作するように表示されます。
mysql> insert into temp (first, second)
-> VALUES ('2017-07-01 03:00:00', '2017-07-01 03:01:00');
Query OK, 1 row affected (0.00 sec)
mysql> select first, second, second - first from temp;
+---------------------+---------------------+----------------+
| first | second | first - second |
+---------------------+---------------------+----------------+
| 2017-07-01 03:00:00 | 2017-07-01 03:00:37 | 37.000000 |
| 2017-07-01 03:00:00 | 2017-07-01 03:01:00 | 100.000000 |
+---------------------+---------------------+----------------+
2 rows in set (0.00 sec)
ああ素敵! 1分で100秒?私はそうは思わない! :)。 (updated_time
は秒である場合)、正しくお時間を減算する
: TIME_TO_SEC
が必要とされている:TIME_TO_SEC(CURRENT_TIMESTAMP) - updated_time
関連する問題
- 1. Facebookのフィルタリングユーザーupdated_timeのプロファイルフィード
- 2. MariaDB CURRENT_TIMESTAMP default
- 3. Laravel postgres current_timestamp
- 4. Android SQL DATETIME CURRENT_TIMESTAMP
- 5. CURRENT_TIMESTAMP演算 - QuerySyntaxException
- 6. のmySQL CURRENT_TIMESTAMP
- 7. SQLite3の整数とCURRENT_TIMESTAMP
- 8. なぜ 'タイムスタンプnot null'はデフォルトで 'CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP'に設定されていますか?
- 9. 無効なデフォルト値CURRENT_TIMESTAMP
- 10. Pyspark:動的ハイブクエリでcurrent_timestampを取得
- 11. Facebook Graph APIは複数のコメント/好きだが同一である投稿を返すcreated_time&updated_time
- 12. OracleのCURRENT_TIMESTAMP関数は実際に関数ですか?
- 13. SQL:DATE_TIMEとCURRENT_TIMESTAMPを正しく計算するには?
- 14. MySQL Workbench: "ON UPDATE"を設定する方法は?とCURRENT_TIMESTAMP?
- 15. ORMLiteとSQLiteでフィールドのデフォルト値としてCURRENT_TIMESTAMPを使用
- 16. SQLiteのCURRENT_TIMESTAMP常に1970-01-01
- 17. MYSQL CURRENT_TIMESTAMPは更新時にのみ適用されます
- 18. Hibernateの更新はDEFAULT CURRENT_TIMESTAMP SQL節を処理しますか?
- 19. なぜjOOQはlocaltimestampではなくcurrent_timestampにDSL.currentLocalDateTime()をマッピングしますか?
- 20. INSERTまたはUPDATEコマンド内でCURRENT_TIMESTAMPを変更できますか?
- 21. CURRENT_TIMESTAMPのDB2で何を使用しますか?
- 22. Postgresにcurrent_timestampとdaysカラムの合計を追加する
- 23. 複数のCURRENT_TIMESTAMP列の作成方法は?
- 24. ResultSetの一部としてCURRENT_TIMESTAMPを取得
- 25. MySQLのCURRENT_TIMESTAMPをZend_DB更新ステートメントに渡す
- 26. current_timestamp()の値をscalaの文字列に変換する方法
- 27. Postgresのcurrent_timestampをJUnitテストの定数に設定しますか?
- 28. JHipster JDLに 'CURRENT_TIMESTAMP'の更新があります
- 29. Azure Stream AnalyticsにはGETDATE()やCURRENT_TIMESTAMPのような機能がありますか?
- 30. Open Xava:Open Xavaに挿入中にcurrent_timestampを設定する方法は?
あなたはそれ以上の質問がありますか、何かがよりクリアにしたいですか? – tukan
私はmysqlがSQLエンジンで "CURRENT_TIMESTAMP - updated_time"をどのように説明しているかについて詳しく知りたいと思っています。 – Dongqing
私は、今それは明らかです参照してください!私は正しい答えを見直し、例を追加しました。 – tukan