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

Docker-Fallanalyse: Erstellen eines Redis-Dienstes

Inhaltsverzeichnis 1 Mount-Verzeichnisse und Date...

Zusammenfassung der Verwendung von Linux-SFTP-Befehlen

sftp ist die Abkürzung für Secure File Transfer P...

Detailliertes Tutorial zum verteilten Betrieb von JMeter in der Docker-Umgebung

1. Erstellen Sie das Basisimage von jmeter Das Do...

So installieren Sie den Zookeeper-Dienst auf einem Linux-System

1. Erstellen Sie den Ordner /usr/local/services/z...

Lizenzschlüssel für VMware Workstation Pro 16 mit Nutzungs-Tutorial

VMware Workstation ist eine leistungsstarke virtu...

IDEA verwendet das Docker-Plugin (Tutorial für Anfänger)

Inhaltsverzeichnis veranschaulichen 1. Aktivieren...

Verwendung des MySQL Query Rewrite-Plugins

Plugin zum Umschreiben von Abfragen Ab MySQL 5.7....

Linux Cron geplante Ausführung von PHP-Code mit Parametern

1. Verwenden Sie zur Ausführung weiterhin ein PHP...

Beispielcode zum Bereitstellen eines Spring-Boot-Projekts mit Docker

1. Grundlegender Spring-Boot-Schnellstart 1.1 Sch...

Grundlegendes zum MySQL-Abfrageoptimierungsprozess

Inhaltsverzeichnis Parser und Präprozessoren Abfr...

Vue+Element UI realisiert die Kapselung von Dropdown-Menüs

In diesem Artikelbeispiel wird der spezifische Co...

So exportieren Sie eine CSV-Datei mit Header in MySQL

Siehe das offizielle Dokument http://dev.mysql.co...