web-dev-qa-db-fra.com

Supprimer la partie en millisecondes de l'horodatage

Comment puis-je supprimer/arrondir la partie millisecond, mieux si la partie second est également supprimée d'un timestamp sans W timezone?

53
Dipro Sen

Un transtypage en timestamp(0) ou timestamptz(0) tours = en secondes complètes:

SELECT now()::timestamp(0);

Les fractions ne sont pas stockées dans des colonnes de table de ce type.

date_trunc() tronque (laisse les secondes inchangées) - ce qui est souvent ce que vous voulez vraiment:

SELECT date_trunc('second', now()::timestamp);
107
Erwin Brandstetter

Ignorer les millisecondes:

SELECT DATE_TRUNC('second', CURRENT_TIMESTAMP::timestamp);

2019-08-23 16:42:43

Jeter les secondes:

SELECT DATE_TRUNC('minute', CURRENT_TIMESTAMP::timestamp);

2019-08-23 16:42:00

0
Yuriy Rypka