converting int to real in sqlite

Division in sqlite return integer value

sqlite> select totalUsers/totalBids from 
(select (select count(*) from Bids) as totalBids , 
(select count(*) from Users) as totalUsers) A;
1

Can we typecast the result to get the real value of division result?


Just multiply one of the numbers by 1.0:

SELECT something*1.0/total FROM somewhere

That will give you floating point division instead of integer division.


In Sqlite the division of an integer by another integer will always round down to the closest integer.

Therefore if you cast your enumerator to a float:

SELECT CAST(field1 AS FLOAT) / field2

select cast ( ( select 1 ) as real );

https://www.sqlite.org/lang_expr.html#castexpr


or if you want to update column based on text column:

UPDATE table_with_fields SET real_field=cast(field_with_txt AS real)