Това е една от няколкото причини парите
на PostgreSQL тип беше отхвърлен и трябва да се избягва
. Странно по-новите версии на същата документация не показват предупреждението за оттегляне но аз и други
не съм съгласен с това и смятам, че използването му трябва да се обезкуражава.
Ако изобщо е възможно, променете схемата си, за да използвате numeric
вместо това, като numeric(17,2)
ако искате да съхранявате само цели числа центове или нещо по-точно за междинни стойности. Ще преживеете кошмарно време, работейки с пари
в HQL, до точката, в която дори BigDecimal
на Java клас (обикновено се използва за картографиране на numeric
полета) е по-добър въпреки ужасно тромавия синтаксис на неговата w аритметика.
Бих направил ALTER TABLE blah ALTER COLUMN blahcol TYPE numeric(17,2) USING ( regexp_replace(blahcol::text, '[$,]', '', 'g')::numeric );код> и забравете
парите
тип съществуваше на твое място.