Pour un projet, j'ai créé un tableau avec une colonne price MONEY NOT NULL
colonne. Et je pensais qu'il gérerait les décimales correctement, contrairement à un nombre flottant (c'est-à-dire les problèmes d'arrondi IEEE), mais je finis par avoir des valeurs comme $9.94
(chaîne) renvoyée par la base de données, au lieu de 9.94
(numérique). Devoir manipuler manuellement la valeur du champ en supprimant le signe dollar est idiot; existe-t-il un moyen d'avoir une colonne MONEY
sans signe monétaire?
Sinon, quel est le meilleur remplacement de type de données pour gérer les valeurs monétaires?
Et ça?
Une valeur monétaire peut être convertie en numérique sans perte de précision. La conversion vers d'autres types peut potentiellement perdre en précision et doit également être effectuée en deux étapes:
SELECT '52093.89'::money::numeric::float8;
Source: http://www.postgresql.org/docs/9.1/static/datatype-money.html