Rundungsvorgang des Datums-/Uhrzeitfelds in MySQL

Rundungsvorgang des Datums-/Uhrzeitfelds in MySQL

Vorwort

Wäre ich nicht in die Falle getappt, hätte ich vermutlich nicht gewusst, dass das Zeitfeld aufgerundet wird.

1. Hintergrund

Die maximale Tageszeit wird über Java-Code ermittelt und dann in der Datenbank gespeichert. Das Datenbanktabellenfeldformat datetime behält 0 Bits bei.

jetzt.mit(LokaleZeit.MAX)

Eine kleine Codezeile, um das maximale Datum von heute zu erhalten.

Ich habe die Datenbank geprüft und festgestellt, dass dort tatsächlich die Uhrzeit des nächsten Tages gespeichert war.

Es sieht aus, als wäre es abgerundet!

2. Simulationstest

Schauen Sie sich nach der Ausführung das Protokoll an:

Es verwendet 2021-09-28T23:59:59.999999999, aber seltsamerweise speichert die Datenbank 2021-09-29 00:00:00.

Versuchen Sie, SQL direkt zu verwenden:

Das... ist tatsächlich abgerundet.

Probieren Sie stattdessen MariaDB!

Docker Pull MariaDB

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

docker exec -it mariadb bash

MariaDB verwirft zusätzliche Ziffern direkt!

3. Fazit

Wenn der an die MySQL-Zeit übergebene Wert den Genauigkeitsbereich überschreitet, wird er gerundet.

Wenn der an MariaDB übergebene Zeitwert den Genauigkeitsbereich überschreitet, wird er direkt verworfen.

Ich bin auf eine kleine Grube getreten. Und zum Schluss: Hartcodieren!

jetzt.mit(LocalTime.parse("23:59:59"))

Zusammenfassen

Dies ist das Ende dieses Artikels über das Runden von Datums-/Uhrzeitfeldern in MySQL. Weitere Informationen zum Runden von Datums-/Uhrzeitfeldern in MySQL finden Sie in den vorherigen Artikeln von 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, Sie werden 123WORDPRESS.COM auch in Zukunft unterstützen!

Das könnte Sie auch interessieren:
  • SQL-Übung: Datenoperation für Benutzerinformationen in einer Online-Mall-Datenbank
  • MySQL-Lerndatenbankbetrieb DML ausführliche Erklärung für Anfänger
  • MySQL lernen, Datenbanken und Tabellen-DDL zu erstellen und zu bedienen für Anfänger
  • Detaillierte Erklärung des MySQL-Datenbank-LIKE-Operators in Python
  • SQL-Übung: Produktkategorie-Datenoperation in der Online-Shopping-Datenbank

<<:  Methoden für JavaScript-String-Objekte

>>:  Tägliche Studiennotizen im HTML-Designmuster

Artikel empfehlen

Detaillierte Einführung in die Chrome-Entwicklertools - Zeitleiste

1. Übersicht Benutzer erwarten, dass die Webanwen...

So implementieren Sie einen Kennwortstärke-Detektor in React

Inhaltsverzeichnis Vorwort verwenden Komponentens...

So ermitteln Sie, ob das Linux-System auf VMware installiert ist

Wie kann festgestellt werden, ob das aktuelle Lin...

Eine kurze Analyse der asynchronen DOM-Aktualisierung von Vue

Inhaltsverzeichnis Das Prinzip der asynchronen DO...

MySQL-Datenbank-JDBC-Programmierung (Java stellt eine Verbindung zu MySQL her)

Inhaltsverzeichnis 1. Grundvoraussetzungen für di...

Häufige Fehler bei der Verwendung von React Hooks

React Hooks ist eine neue Funktion, die in React ...

So erhalten Sie Root-Berechtigungen in einem Docker-Container

Zunächst muss Ihr Container laufen Sie können die...

Border-Radius IE8-kompatible Verarbeitungsmethode

Laut canisue (http://caniuse.com/#search=border-r...

Detaillierte Schritte zur Installation von Tomcat, MySQL und Redis mit Docker

Inhaltsverzeichnis Tomcat mit Docker installieren...