You could always store the precision info in another column or two. Vance
on May 06, 2013, Paul van Helden <p...@planetgis.co.za> wrote: > >> A delared type of NUMBER(10,2) has NUMERIC affinity, which means that >> SQLite will attempt to store (string) values as integers first and floats >> second before giving up and storing strings. >> > >This has nothing to do with my reply and I understand how it works. > >> >> You do realize that there are decimal numbers that have infinite binary >> expansions? >> > >I wouldn't store such numbers into a NUMBER(10,2), just a NUMBER (I know >they are the same in SQLite). > >> >> You are also talking presentation (as in formatting) of numeric values as >> opposed to representation (as in storing/retrieving). The former is best >> handled in the user interface while the latter is the subject of database >> engines. >> > >My point was about not storing binary junk - the part of a number that has >no meaning because the accuracy of the inputs is limited. When you have a >generic db manager that can show any table or if you are looking at the >results of your own SQL statement, it helps to reduce clutter on the >screen. The data also compresses better. > >> >> Fatihful reproduction of formatting would be possible using TEXT affinity >> and calling sqlite3_bind_text. Performing arithmetic with these "numbers" >> would however be tricky, slow and would still not guarantee that calculated >> values would conform to the desired formatting. >> >> Of course, but in most cases we don't need to go this far. My main point >is about rounding before binding; my secondary point that scale in a column >definition can be desirable to avoid it. >_______________________________________________ >sqlite-users mailing list >sqlite-users@sqlite.org >http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users > _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users