On 7 Mar 2013, at 6:27pm, Ryan Johnson <[email protected]> wrote:
> The problem is sqlite3 doesn't cast to REAL first. It just parses the string
> until it hits '.' (which isn't a valid part of an integer) and then returns
> whatever it had accumulated so far. That breaks in creative ways for values
> like:
>
> cast('10e-1' as integer) -- 10
> cast('abc' as integer) -- 0
Ah, thank you. Good explanation.
I consider this behaviour wrong, too. Casting a string as INTEGER should take
into account what it means as a REAL. For instance, as a
programmer/statistician, what do you think the desired behaviour would be for
CAST('0.999999999' AS INTEGER)
I know what I want. Perhaps this can be fixed in SQLite4.
Simon.
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users