Apparently result of count() and probably all other aggregate
functions (as well as result of any function at all) has no affinity.
So when you compare it to anything having no affinity too you have no
type transformation during comparison. And thus values have to be
exactly the same including their types...

Everything is explainable and probably is impossible to fix unless
core aggregate functions become specially recognizable part of the
core or SQLite team figures out how to make functions return their
results with some affinity assigned...

Pavel

On Tue, Dec 15, 2009 at 10:25 AM, Simon Davies
<[email protected]> wrote:
> 2009/12/15 D. Richard Hipp <[email protected]>:
>>
>>>
>>
>> Because string '2' is not the same thing as integer 2.
>>
>> sqlite3> select 2='2';
>> 0
>> sqlite3>
>>
>
> Why
> sqlite> select cast( 2 as integer ) = '2';
> 1
>
>>
>> D. Richard Hipp
>> [email protected]
>>
>
> Simon
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to