sqliteの除算は整数値を返します
sqlite> select totalUsers/totalBids from
(select (select count(*) from Bids) as totalBids ,
(select count(*) from Users) as totalUsers) A;
1
結果をタイプキャストして、除算結果の実際の値を取得できますか?
sqliteの除算は整数値を返します
sqlite> select totalUsers/totalBids from
(select (select count(*) from Bids) as totalBids ,
(select count(*) from Users) as totalUsers) A;
1
結果をタイプキャストして、除算結果の実際の値を取得できますか?
回答:
数値の1つに1.0
:を掛けるだけです。
SELECT something*1.0/total FROM somewhere
これにより、整数除算ではなく浮動小数点除算が可能になります。
Sqliteでは、整数を別の整数で除算すると、常に最も近い整数に切り捨てられます。
したがって、列挙子をフロートにキャストする場合:
SELECT CAST(field1 AS FLOAT) / field2
select cast ( ( select 1 ) as real );