Dit is een van de vele redenen waarom het PostgreSQL money
type was verouderd en moet worden vermeden
. Vreemd genoeg geven nieuwere versies van dezelfde documentatie de beëindigingswaarschuwing niet weer maar ik en anderen
zijn het daar niet mee eens en vinden dat het gebruik ervan moet worden ontmoedigd.
Wijzig indien mogelijk uw schema om numeric
. te gebruiken in plaats daarvan, zoals numeric(17,2)
als u alleen hele getallen wilt opslaan, of iets nauwkeurigers voor tussenliggende waarden. Je zult een nachtmerrie hebben als je met money
werkt in HQL, tot het punt waar zelfs Java's BigDecimal
klasse (meestal gebruikt om numeric
toe te wijzen velden) is beter ondanks de ontzettend onhandige syntaxis van zijn war arithmetic.
Ik zou een ALTER TABLE blah ALTER COLUMN blahcol TYPE numeric(17,2) USING ( regexp_replace(blahcol::text, '[$,]', '', 'g')::numeric );
en vergeet het money
type bestond als ik jou was.