problem z rzutowaniem do numeric

0

dlaczego to zapytanie:

select (3/7)::numeric(4,2) as wynik;

zwraca mi wynik 0.00?
a kolejne:

select 3/7::numeric(4,2) as wynik;

zwraca poprawny wynik jednak wyświetla 20 cyfr po przecinku, a nie 2?

0
  1. całkowite 3 podzielić przez całkowite 7 daje całkowite 0, rzucone na numeric(4, 2) daje 0,00
  2. całkowite 3 podzielić przez całkowite 7 rzucone na numeric(4, 2), czyli 7,00 daje rzeczywiste 0,428...
    zrób
SELECT (3.0/7.0)::numeric(4, 2) as wynik

1 użytkowników online, w tym zalogowanych: 0, gości: 1