Problem with sqlite3 and Decimal

Chris Angelico rosuav at gmail.com
Fri Dec 11 13:45:46 EST 2015


On Fri, Dec 11, 2015 at 8:21 PM, Frank Millman <frank at chagford.com> wrote:
> I noticed one oddity - I am asking sqlite3 to store the value as a string,
> but then I am asking it to perform arithmetic on it.

It's an SQLite3 issue, not a Python one. I used the sqlite3
stand-alone tool to do the same thing:

sqlite> update fmtemp set bal = bal + cast('123.45' as numeric);
sqlite> select bal from fmtemp;
...
5678.7
5802.15
5925.59999999999

And this might be why:

https://www.sqlite.org/datatype3.html

SQLite doesn't *have* all the SQL data types, and NUMERIC is one of
the ones that isn't available. If you recreate your example using
PostgreSQL, it should work fine.

ChrisA



More information about the Python-list mailing list