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

推薦する

ElementUI の this.$notify.close() 呼び出しが機能しない問題の解決方法

目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...

Dockerコンテナにnginxを簡単にデプロイするプロセスの分析

1. コンテナにnginxサービスをデプロイするcentos:7 イメージはコンテナを実行し、このコ...

Vueのカスタムイベントコンテンツ配信の詳細な説明

1. これは理解するのが少し複雑なので、原理を注意深く読んで自分で入力していただければ幸いです。 &...

Windows 8 での ssh コマンドの使用記録

1. 仮想マシンとgit bashウィンドウを開き、接続の準備をします2. 仮想マシンでifconf...

MySQLデータベースの数千万件のデータクエリとストレージの詳細な説明

目次百万レベルのデータ処理ソリューションデータストレージ構造設計クエリステートメントの最適化1000...

スネークゲームのアイデアを実現するためのJavaScript

JavaScriptゲームSnakeの実装アイデア(完全なコード実装)を参考までに説明します。具体...

JavaScript でドラッグ スライダー パズルの検証機能を実装します (html5、canvas)

導入:スライダー ドラッグ検証は現在、多くの場所で使用されています。週末に 1 つ作成しようと思い、...

シンプルなウェブ計算機を実装するJavaScript

背景私は新しいプロジェクト チームに配属されたので、プロジェクトでは js を使用する必要があります...

MySQLデータベースの追加、削除、変更操作の詳細な説明

データの挿入テーブル名(列名1、列名2、列名3)の値(値1、値2、値3)に挿入します。ユーザーに(u...

Linux での中国語入力方法の問題を素早く解決する

背景: 最近、資産報告関連の機能に取り組んでおり、中国語入力をサポートする必要があります。通常のショ...

JavaScript でフォロー広告を実装するためのサンプルコード

フローティング広告は、ウェブサイト上で非常に一般的な広告形式です。フローティング広告は、ユーザーの閲...

よく使用される MySQL 関数の完全なリスト (分類および要約)

1. 数学関数ABS(x) xの絶対値を返します。 BIN(x) xの2進値を返します(OCTは8...

Vueはページング機能を実装する

この記事の例では、ページング機能を実装するためのVueの具体的なコードを参考までに共有しています。具...

JavaScript 状態コンテナ Redux の詳細な説明

目次1. Reduxを選ぶ理由2. Reduxデータフロー3つの原則4. Reduxソースコード分析...

Ubuntu 16.04/18.04 に Pycharm と Ipython をインストールするチュートリアル

Ubuntu 18.04の場合1. sudo apt install python 。コマンドライン...