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

推薦する

ubuntu20.04 上の CLion2020.1.3 での ROS のインストールと設定の詳細な説明

1. CLionをダウンロード、インストール、アクティベートするオンラインで提供されるチュートリアル...

VMware仮想マシンでのLinuxのコピー&ペーストの詳細な説明

1. VMware Workstation 上の Linux: 1. ソースの更新(オプション) v...

Dockerでspringcloudプロジェクトをデプロイする方法

目次Dockerイメージのダウンロードmysqlとnacosを起動する独自のJavaプロジェクトを変...

Windows で MySQL マスター スレーブ レプリケーションを構成する方法

MySQL マスター/スレーブ レプリケーションを使用すると、1 つのデータベース (マスター デー...

CSS の一部のプロパティの前には「*」または「_」が付きます。

CSS の一部のプロパティの前には「*」または「_」が付きます。さまざまなブラウザを識別する例えば...

docker のインストールが完了し、bridge-nf-call-iptables が無効であると報告される問題を解決します

Centos マシンで docker のインストールが完了したら、docker info コマンドを...

イベントバブリング、イベントキャプチャ、イベント委任に基づく詳細な説明

イベントバブリング、イベントキャプチャ、イベント委任JavaScript では、イベント委譲は非常に...

WeChatアプレットはシンプルなサイコロゲームを実装します

この記事では、サイコロゲームを実装するためのWeChatアプレットの具体的なコードを参考までに共有し...

レスポンシブWebデザイン学習(2) — 動画をレスポンシブにすることはできるのか?

前回のエピソードレビュー:昨日は、ページがさまざまなデバイス サイズにどのように対応するかについて説...

Vue 実践における実用的な小さな魔法のまとめ

初回の読み込みを高速化できるルートの遅延読み込みをどうして忘れられるでしょうか?ルーティングの遅延読...

JavaScript における this ポイントの問題の詳細な説明

要約する地球環境 ➡️ ウィンドウ通常関数 ➡️ ウィンドウまたは未定義コンストラクター ➡️ 構築...

VUE ユニアプリカスタムコンポーネントについての簡単な説明

1. 親コンポーネントはpropsを通じて子コンポーネントにデータを渡すことができる2. 子コンポー...

サブメニューをクリックする効果を実現するJavaScript

この記事では、クリック時にサブメニューを表示するためのJavaScriptの具体的なコードを参考まで...

docker に基づいて nginxssl 設定を開始する

前提条件クラウドサーバー(Alibaba Cloud、Tencent CloudなどのcentOS)...

React仮想リストの実装

目次1. 背景2. バーチャルリストとは何か3. 関連概念の紹介4. 仮想リストの実装4.1 ドライ...