On 31 Jul 2019, at 10:15pm, Eric Reischer <[email protected]> wrote:
> Is there a way to pass binary representations of floating point numbers to a
> SQL query? If sqlite's internal representation of floating point numbers is
> 8-byte IEEE doubles, it would be convenient to be able to pass the literal
> value of a float or double to the underlying SQL parser without suffering the
> quantization that occurs with printf()'ing floating point values.
Rather than including the values in the text of the query:
INSERT INTO A (B) VALUES (3.1)
use a parameter marker:
INSERT INTO A (B) VALUES (?)
and bind the value to that parameter:
<https://sqlite.org/c3ref/bind_blob.html>
int sqlite3_bind_double(sqlite3_stmt*, int, double);
This does not involve any rendering of the value into a string. However, since
the C double is not necessarily a representation of IEEE value, you cannot rely
on values being passed entirely unchanged.
_______________________________________________
sqlite-users mailing list
[email protected]
http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users