On Sun, Jun 27, 2010 at 07:04:17PM +0100, Simon Slavin scratched on the wall:
> But you should know that SQLite itself does not understand locales > at all. It wants a ',' for decimals input and produces a '.' in > output. If you have some aspect of your system which is > handling ',', it's not part of SQLite. SQLite does not accept "," for decimals. As you said yourself, SQLite does not understand locales. Further, the only radix point it understands is ".": http://www.sqlite.org/lang_expr.html Literal Values A literal value is a constant of some kind. Literal values may be integers, floating point numbers, strings, BLOBs, or NULLs. Scientific notation is supported for floating point literal values. The "." character is always used as the decimal point even if the locale setting specifies "," for this role - the use of "," for the decimal point would result in syntactic ambiguity. [...] In specific, there is no way to tell if something like "4,5" is the value four and one-half, or a two element list consisting of the integers 4 and 5. Given how frequently SQL uses implied lists, this is a big issue for the parser. Make sure your application is not locale aware. This isn't likely to make a difference on input, but it can on output. Further, make sure you're actually putting floating-point values into the database, and not a string that might be converted (in the case of the functions) but given raw in the case of just returning a raw column. For example: SELECT X, typeof( X ) FROM MY_POINTS; -j -- Jay A. Kreibich < J A Y @ K R E I B I.C H > "Intelligence is like underwear: it is important that you have it, but showing it to the wrong people has the tendency to make them feel uncomfortable." -- Angela Johnson _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users