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

Analyse des Quellcodes des React-Ereignismechanismus

Inhaltsverzeichnis Prinzip Quellcodeanalyse Deleg...

Detaillierte Erklärung des Docker Compose-Orchestrierungstools

Docker Compose Docker Compose ist ein Tool zum De...

So legen Sie eine horizontale Navigationsstruktur in HTML fest

In diesem Artikel werden Ihnen zwei Methoden zum ...

Einführung in Kubernetes (k8s)

Ich wollte schon immer Kubernetes lernen, weil es...

Eine kurze Diskussion zu this.$store.state.xx.xx in Vue

Inhaltsverzeichnis Sehen Sie sich dies an.$store....

Vue+Rem benutzerdefinierter Karusselleffekt

Die Implementierung eines benutzerdefinierten Kar...

So installieren Sie Nginx in CentOS7 und konfigurieren den automatischen Start

1. Laden Sie das Installationspaket von der offiz...

WeChat-Applet-Picker - Mehrspalten-Selektor (Modus = MultiSelector)

Inhaltsverzeichnis 1. Wirkungsdiagramm (mehrere S...

Zusammenfassung der Mysql Hochleistungsoptimierungsfähigkeiten

Datenbank-Befehlsspezifikation Alle Datenbankobje...