Les Fractions ne sont pas stockées dans des colonnes de table de ce type.
date_trunc()tronque (feuilles secondes inchangé) - ce qui est souvent ce que vous voulez vraiment:
SELECT date_trunc('second', now()::timestamp);
Notez que l'horodatage(0) et timestamptz(0) rond plutôt que de les tronquer. Utilisation date_trunc si vous souhaitez conserver le reste de l'horodatage comme est.
Ne fonctionne pas, il renvoie une erreur [Amazon](500310) Invalid operation: Assert
Les expressions dans ma réponse travailler dans Postgres. 100 %. Votre problème a évidemment une cause différente.
Je suis à l'aide d'Amazon Redshift. Probablement, ils ont supprimé cette fonctionnalité dans le Redshift.
Redshift n'est pas Postgres. Il a été forké Postgres à la version 8.0 - un très il y a longtemps.
Quand je lance SELECT now()::timestamp(0); dans Datagrip (connexion à un postgres DB), il montre encore les millisecondes, même si elles sont toutes à zéro. Je voudrais savoir comment faire pour supprimer cela. Peut-être un Datagrip paramètre que je n'ai pas encore trouvé. Fait intéressant, l'exécution de SELECT date_trunc('second', now()::timestamp); n' pas afficher les millisecondes.
Sonne comme une question d'affichage dans le domaine de Datagrip.
J'ai couru exactement la même requête dans Datagrip, et il a obtenu sans millisecondes. FWIW, je suis en utilisant Datagrip 2018.2 sur Ubuntu 18.04, requêtes de PostgreSQL 9.5.15 serveur. Je suis curieux de savoir si votre Datagrip ou postgres versions sont plus âgés, et si une mise à jour des deux/les deux a corrigé le problème.
D'un plâtre pour
timestamp(0)
outimestamptz(0)
tours de secondes:Les Fractions ne sont pas stockées dans des colonnes de table de ce type.
date_trunc()
tronque (feuilles secondes inchangé) - ce qui est souvent ce que vous voulez vraiment:[Amazon](500310) Invalid operation: Assert
SELECT now()::timestamp(0);
dans Datagrip (connexion à un postgres DB), il montre encore les millisecondes, même si elles sont toutes à zéro. Je voudrais savoir comment faire pour supprimer cela. Peut-être un Datagrip paramètre que je n'ai pas encore trouvé. Fait intéressant, l'exécution deSELECT date_trunc('second', now()::timestamp);
n' pas afficher les millisecondes.Jeter millisecondes:
Jeter secondes: