Uwaga: jeśli interwał zawiera miesiące lub lata, nie ma zdefiniowanej odpowiedzi na temat liczby godzin, ponieważ liczba dni w miesiącu lub roku jest różna. Więc uważaj na to!
SELECT EXTRACT (epoch FROM my_interval / 3600) (interwał ma natywną obsługę „dzielenia liczby całkowitej”, wynikiem jest przedział, a wynik wyodrębniania jest liczbą całkowitą, a nie liczbą zmiennoprzecinkową). Więc. Autocast / Floor gotowe.
Wspaniały! Dziękuję za to :) Jednak odkryłem, że możemy teraz zmodyfikować to na SELECT extract('epoch' FROM age('2014-08-02'::timestamp)) / 86400(używam strony 9.4), ponieważ age(ts)automatycznie używamy CURRENT_DATEtylko jednego argumentu.
::intKonwersji stosuje zasadę zaokrąglania. Jeśli chcesz uzyskać inny wynik, na przykład zaokrąglając w dół, możesz użyć odpowiedniej funkcji matematycznej, takiej jak floor.
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.