Comment écrire bigint (temps en millisecondes) comme valeur d'horodatage dans postgresql
Je suis en train d'essayer de magasin dans le timestamp avec le fuseau horaire de champ de ma valeur. Il est en millisecondes à partir de 1970.
select TO_CHAR(TO_TIMESTAMP(1401432881230), 'DD/MM/YYYY HH24:MI:SS.MS')
Devrait 30/5/2014 11:29:42 10:54:41.230
, mais obtenir
22/08/46379 23:27:02.000
select TO_CHAR(TO_TIMESTAMP(1401432881222 / 1000), 'DD/MM/YYYY HH24:MI:SS') || '.' || (1401432881222%1000)
est bonne requête de style? Retourne 30/05/2014 06:54:41.222
to_timestamp
considère déjà millisecondes, c'est pourquoi il accepte de virgule flottante timestamps unix. Si vous souhaitez stocker un réel timestamp, juste stocker de quoi il en retourne. Si vous voulez formater, utilisez MS
pour afficher les millisecondes.Mais dans mon exemple (select TO_CHAR(TO_TIMESTAMP(1401432881230), 'DD/MM/YYYY HH24:MI:SS.MS')) je suis en train de faire comme vous l'avez dit.
OriginalL'auteur Clyde | 2014-05-30
Vous devez vous connecter pour publier un commentaire.
Les timestamps Unix mesures de l'heure avec les secondes, et pas millisecondes (presque partout, dans PostgreSQL trop).
Par conséquent, vous devez appeler
Si vous souhaitez conserver millisecondes, appel avec
double precision
:SELECT TO_TIMESTAMP(1401432881230::double precision / 1000);
travaillé!Depuis cette réponse a été adapté afin de montrer comment préserver millisecondes, il devrait également être marquée comme étant la bonne réponse.
OriginalL'auteur pozs
C'est de cette façon-je convertir ms à l'horodatage et la conserver ms au lieu secondes.L'on a accepté la réponse va tomber ms.
OriginalL'auteur wener
Ok, j'ai compris. Mon INSÉRER devrait ressembler à:
INSERT INTO events (timestamp) VALUES (to_timestamp(TO_CHAR(TO_TIMESTAMP(1401432881222 /1000), 'YYYY-MM-DD HH24:MI:SS') || '.' || (1401432881222%1000), 'YYYY-MM-DD HH24:MI:SS.MS'))
Je suis la conversion de type bigint-timestamp avec millisecondes de texte avec le format requis ('YYYY-MM-DD HH24:MI:SS.MS') et de le passer à to_timestamp fonction.
OriginalL'auteur Clyde