Wpis z mikrobloga

Muszę przerobić kwerendy mssql na postgresowe. Niestety napotkałem opór przy obliczaniu różnic między datami.

MSSQL:
SELECT DATEDIFF(HOUR, '2022-10-22 13:00:00', '2022-10-21 09:41:21' zwraca mi liczbę -28
POSTGRES:
SELECT DATE_PART('day', '2022-10-21 09:41:21', '2022-10-22 13:00:00') * 24 + DATE_PART('hour', '2022-10-21 09:41:21', '2022-10-22 13:00:00') zwraca mi - 27

Ktoś mi powie co jest grane, czy ja powinienem jakiś rounding zrobić?

#sql
#programowanie
  • 4
  • Odpowiedz
@ponton: Chyba ogarnąłem, zamiast używać date_part, użyłe tego:

SELECT CEIL(EXTRACT(epoch from '2022-10-21 09:41:21', '2022-10-22 13:00:00')/3600) as hours, bez 'ceil' miałem to samo co wcześniej.
  • Odpowiedz