MySQL の datetime フィールドの丸め操作

MySQL の datetime フィールドの丸め操作

序文

もし私が罠に陥っていなかったら、時間フィールドが切り上げられることはおそらく知らなかったでしょう。

1. 背景

1 日の最大時刻は Java コードによって取得され、データベースに保存されます。データベース テーブル フィールド形式の datetime は 0 ビットを保持します。

now.with(LocalTime.MAX)

今日の最大の日付を取得するための短いコード行。

データベースを確認すると、実際には翌日の時刻が保存されていました。

丸くなったみたいですね!

2. シミュレーションテスト

実行後、ログを確認します。

2021-09-28T23:59:59.999999999 を使用していますが、不思議なことにデータベースには 2021-09-29 00:00:00 が保存されています。

SQL を直接使用してみます:

これは...確かに丸められています。

代わりに MariaDB をお試しください。

docker プル mariadb

docker run -d --name mariadb -p 33306:33306 -e "MYSQL_ROOT_PASSWORD=root" mariadb

docker exec -it mariadb bash

MariaDB は余分な数字を直接破棄します。

3. 結論

MySQL 時間に渡される値が精度の範囲を超える場合は、丸められます。

MariaDB 時間に渡された値が精度の範囲を超える場合、その値は直接破棄されます。

小さな穴を踏んでしまいました。最後に、ハードコードします。

now.with(LocalTime.parse("23:59:59"))

要約する

これで、MySQL の datetime フィールドの丸めに関するこの記事は終了です。MySQL の datetime の丸めに関する詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • SQL 実践演習: オンライン モール データベース ユーザー情報データ操作
  • MySQL学習データベース操作DML初心者向け詳細解説
  • 初心者向けのMySQLデータベースとテーブルDDLの作成と操作の学習
  • Python の MySQL データベース LIKE 演算子の詳細な説明
  • SQL 実践演習: オンライン モール データベースの製品カテゴリ データ操作

<<:  tinyMCEの使い方と体験の詳細な説明

>>:  HTMLデザインパターンの日々の勉強ノート

推薦する

MySQL でグループ化した後、各グループの最大値を取得する詳細な例

MySQL でグループ化した後、各グループの最大値を取得する詳細な例1. テストデータベーステーブル...

Vue2.0の双方向データバインディング原則を手動で実装する

一言で言えば: データハイジャック (Object.defineProperty) + パブリッシュ...

パーティショニングを使用して数十億のデータに対する MySQL データ処理を最適化する方法

MySQL が数千万のデータをクエリする場合、ほとんどのクエリ最適化の問題はインデックスを通じて解決...

vue+element-uiはヘッドナビゲーションバーコンポーネントを実装します

この記事では、vue+element-uiでヘッドナビゲーションバーコンポーネントを実装するための具...

ファイルの種類を検出するJavaScriptメソッド

目次1. 画像のバイナリデータを表示する方法2. 絵の種類の見分け方3. 画像の種類を検出する方法3...

DockerにMySQLをインストールする方法

最近 Django を導入しましたが、MySQL を手動でインストールしたくなかったので、Docke...

JavaScript の継承についてどれくらい知っていますか?

目次序文コンストラクタ、プロトタイプオブジェクト、インスタンスオブジェクトの関係プロトタイプチェーン...

JS でクリップボード API を使用する方法

目次1. Document.execCommand() メソッド(1)コピー操作(2)貼り付け操作(...

17の広告効果測定の解釈

1. 広告の 85% は未読です<br />解釈: 成功する広告の 15% にどうやって...

iframe 適応サイズ実装コード

ページドメインの関係:メインページ a.html はドメイン A: www.jb51.net に属し...

MySQLチュートリアルDMLデータ操作言語の例の詳細な説明

目次1. データ操作言語 (DML) 2. データを追加する(挿入) 3. 既存のテーブルをコピーし...

テキストエリアのテキスト入力領域に改行を実装する方法

textarea 入力領域でテキストを折り返す場合は、<br/> と入力すると <...

Docker 入門インストールチュートリアル (初心者版)

ドクター紹介: Docker はコンテナ関連の技術です。簡単に言うと、さまざまなソフトウェアを実行で...

HTMLのフォントがline-heightを指定しても垂直方向に中央揃えできない問題の解決方法を詳しく説明します

による写真に示されている効果を例に挙げてみましょう。明らかに、「次へ」というテキストを水平方向だけで...