Je souhaite obtenir des données de Postgres. Il y a une colonne dans le type timestamp sans timezone. Simple SELECT me renvoie la date formatée mais je veux simplement l'horodatage en millisecondes. Comment je peux le faire en SQL?Comment obtenir l'horodatage comme horodatage de postgres?
Répondre
select extract(epoch from my_timestamp)
Cette fonction retourne le temps en secondes. Cependant, il s'agit d'un nombre décimal avec des fractions de la seconde après la virgule décimale. En savoir plus sur la précision ci-dessous.
Pour Millis, utilisez:
select extract(epoch from my_timestamp)*1000
Test:
select my_date,
extract(epoch from my_date)*interval'1s'+'epoch'::timestamp at time zone 'GMT'
Note sur la précision
extract
renvoie un nombre "double précision", ce qui correspond à 15 chiffres dans Postgres. Cela signifie qu'environ 2016 (au moment où j'écris ceci), la précision réelle est de 10 microsecondes. Notez la façon dont il complète le dernier chiffre:
select extract('epoch' from '2016-09-20T11:22:33.456789Z'::timestamp);
date_part
------------------
1474370553.45679
(1 row)
Pour les dates comme 270 ans dans le futur, ce type de données ne seront en mesure de représenter la précision de 100 microsecondes. On dirait une précision décente du point de vue de 2016, et je suppose que les choses pourraient changer un peu avant d'atteindre cette année.
select extract('epoch' from '2290-09-20T11:22:33.456789Z'::timestamp);
date_part
------------------
10120936953.4568
(1 row)
De toute façon, il continuera à travailler très bien pour milliseconde précision pendant un certain temps.
- 1. Postgres: Horodatage plus grand que maintenant
- 2. Comment obtenir l'autorisation de déboguer postgres?
- 3. MySQL sélection horodatage comme chaîne de date
- 4. Postgres STRING_TO_ARRAY alternative? Comme STRING_TO_RECORD?
- 5. Créer un horodatage de maintenant comme NSNumber dans l'objectif-c
- 6. Obtenir horodatage hexadécimal du script bash
- 7. Postgres: débogage rapide comme dans Git?
- 8. Imprimez horodatage comme numéro, pas lisible
- 9. Comment obtenir le MIN() de deux champs dans Postgres?
- 10. Comment obtenir min/max de deux entiers dans Postgres/SQL?
- 11. SUBSTR ne fonctionne pas avec le type de données « horodatage » dans Postgres 8.3
- 12. Comment obtenir le dernier horodatage dans une colonne?
- 13. Comment convertir un horodatage GMT en horodatage Unix (javascript)
- 14. Erreur Postgres (Obtenir PLJava mis en place)
- 15. Obtenir le dernier horodatage de redémarrage de Windows?
- 16. Comment obtenir mutiple résultats du groupe par dans Postgres
- 17. Comment convertir un horodatage unix en horodatage ISO8601 en PHP?
- 18. Comment nom fichier avec horodatage?
- 19. Obtenir un horodatage bien formaté sans beaucoup de frais généraux?
- 20. heroku erreur Postgres - opérateur n'existe pas horodatage sans fuseau horaire = entier
- 21. Obtenir Postgres pour tronquer des valeurs si nécessaire?
- 22. Horodatage de réplication internationale
- 23. Horodatage SSIS
- 24. Horodatage Log4J
- 25. Formatage d'un horodatage
- 26. TCP RTT horodatage de calcul
- 27. Comment formater un horodatage Unix dans Delphi?
- 28. Horodatage, minuteries, question de temps
- 29. Comment stocker des données longues comme les données d'étiquette RFID dans une base de données postgres?
- 30. Obtenir un horodatage en C# quand le WinCE démarré
génial! ça marche, merci l'homme! – Kamilos
Cette suggestion n'aide pas si vous avez besoin d'une précision de millisecondes – Wiebke
@Wiebke Il le fait. Voyez si la réponse mise à jour l'explique mieux. –