web-dev-qa-db-ja.com

sqliteでintをrealに変換する

Sqliteの除算整数値

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

結果を型キャストして、除算結果の実際の値を取得できますか?

75
vaichidrewar

数字の1つに1.0を掛けるだけです。

SELECT something*1.0/total FROM somewhere

これにより、整数除算の代わりに浮動小数点除算が行われます。

116

Sqliteでは、整数を別の整数で除算すると、常に最も近い整数に切り捨てられます。

したがって、列挙子をfloatにキャストする場合:

SELECT CAST(field1 AS FLOAT) / field2
44
Adam Garner
select cast ( ( select 1 ) as real );

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

7
mpb

または、テキスト列に基づいて列を更新する場合:

UPDATE table_with_fields SET real_field=cast(field_with_txt AS real)
2
Greg