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デザインパターンの日々の勉強ノート

推薦する

CSS3で実装された水平ヘッダーメニュー

結果:実装コードhtml <nav class="dropdownmenu"...

dockerネットワーク双方向接続の詳細な説明

Dockerネットワークを見るdocker ネットワーク ls [root@master ~]# d...

Kali Linux Vmware 仮想マシンのインストール (図とテキスト)

準備: 1. VMwareワークステーションソフトウェアをインストールする2. Kali Linux...

MySQL で最大接続数を正しく変更する 3 つの方法

MySQL データベースをインストールすると、デフォルトの MySQL データベースの最大接続数が ...

JavaScriptはマウスの動きに追従するボックスを実装します

この記事では、マウスの動きを追跡するためのJavaScriptの具体的なコードを参考までに紹介します...

CSS を使用して複数列の等高レイアウトを設定する方法の例

最初は、複数の列のコンテンツのサイズと高さが異なります。ここで、表示する背景を異なるものに設定し、各...

シンプルなタブバー切り替えコンテンツバーを実装するJavaScript

この記事では、タブバーの切り替えコンテンツバーを簡単に実現するためのJavaScriptの具体的なコ...

Vueはファイルのアップロードとダウンロードを実装します

この記事では、参考までにVueのファイルのアップロードとダウンロードの具体的なコードを紹介します。具...

MySQL学習エンジンの詳細な説明、説明、権限

エンジン導入InnodbエンジンInnodb エンジンは、データベース ACID トランザクションを...

Nginx がフロントエンド リソースへのクロスドメイン アクセスの問題をどのように解決するかの詳細な説明

フロントエンドのクロスドメイン問題に2日間近く悩まされましたが、ようやくngnxを使って解決したので...

Linux 基本チュートリアル: 特別な権限 SUID、SGID、SBIT

序文Linux のファイルまたはディレクトリの権限については、共通の rwx 権限を知っておく必要が...

広告を閉じる効果を実現するJavascript

参考までに、Javascript を使用して広告を閉じる方法に関するケース スタディを示します。詳細...

モバイル端末の適応に関する簡単な説明

序文フロントエンド コードの記述では、「互換性」という言葉から逃れることはできません。過去の PC ...

VirtualBox仮想マシンがNATモードで外部ネットワークに接続できない問題の解決策

背景VirtualBox 仮想マシン (Ubuntu 16.04 システムがロードされている) には...