Neue und native Antwort im Jahr 2020
Wenn Sie in PostgreSQL nur die aktuelle Datums- und Uhrzeitangabe durch Aufrufen CURRENT_TIMESTAMP() ohne Zeitzone und gebrochene Ziffern im Sekundenfeld, die nach dem Dezimalpunkt des Sekundenfelds stehen , anzeigen möchten ?
(Getestet mit PostgreSQL v12.4)
Dann benutze dies:
SELECT CURRENT_TIMESTAMP(0)::TIMESTAMP WITHOUT TIME ZONE;
Wenn Sie den Datentyp Ihrer Spalte als timestamp(nicht als timestamptz) definieren, können Sie den Zeitstempel ohne Zeitzone speichern. In diesem Fall müssen Sie ihn nicht hinzufügenTIMESTAMP WITHOUT TIME ZONE
So was:
CREATE TABLE foo (created timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP(0))
In der obigen Funktion wird 0 übergeben, um die gebrochenen Ziffern im Sekundenfeld zu entfernen.