2016-08-08 21 views
1

Ich würde gerne wissen, wie ich große Zahl (Millionen von Sekunden) bis zum Format HH: MM: SS und auch rechtfertigen kann Tage: Monate: Jahr in der gleichen Zeit. Verwenden der SQL-Abfrage in PostgreSQL 9.4Justifizieren Sekunde (Integer-Zahl) zu Datum Format (mehr als Tage und Monate) in PostgreSQL

Beispiel: 1 000 000 Sekunden = 11 Tage 13 Stunden 46 Minuten 40 Sekunden.

Danke

+0

Vielleicht ANSI SQL: 'Cast (Intervall '1000000' Sekunde als Intervall Tag zu Sekunde)'? – jarlh

+0

@jarlh es zeige mir ** 277: 46: 40 **, so ** 277 ** Stunden und ich möchte die Anzahl der Tage, Monate und Jahre von ** 277 ** haben. – YassIne

+0

Ich habe versucht, diese 'to_char ('1000000 Sekunde' :: Intervall, 'HH24: mi: ss');' und es ist das gleiche Ergebnis, und ich kann nicht mehr Details haben, wenn ich mehr als ** 24 Stunden habe * * – YassIne

Antwort

0
test=> SELECT justify_hours(INTERVAL '1000000 s'); 
┌──────────────────┐ 
│ justify_hours │ 
├──────────────────┤ 
│ 11 days 13:46:40 │ 
└──────────────────┘ 
(1 row) 

Sie justify_interval statt justify_hours können Monate und Jahre zu bekommen, aber wie viele Tage in einem Monat da?

+0

es funktioniert nur es ist ich stoppe in Tagen, was ich will ist auch Monate und Jahre dynamisch zu haben (ich habe eine große Zahl), @Abelisto gib mir das: \t 'select to_char (justify_interval ('1000000 Sekunde') :: Intervall, "yy" Jahr "mm" Monate "dd" Tage "hh24" Stunden "mi" Minute "ss" Sekunden ""); 'aber es ist nicht dynamisch. Beispiel: wenn ich eine kleine Zahl habe, habe ich 0 in Jahren 0 in Monaten usw., und ich will nur die Zahlen nicht die Nullstellen – YassIne

+1

Sie können 'justify_interval' dafür verwenden. Sind Sie sicher, dass ein Monat 30 Tage dauert? –

+0

Ja ich habe es schon getan, aber es gibt eine Methode, um die Standardbezeichnung ** Monate **, ** Jahre ** in justify_interval in Französisch zu ändern – YassIne