sqlite中的除法返回整数值
sqlite> select totalUsers/totalBids from (select (select count(*) from Bids) as totalBids , (select count(*) from Users) as totalUsers) A; 1
我们可以对结果进行类型转换以获得除法结果的真实的值吗?
kd3sttzy1#
只需将其中一个数字乘以1.0:
1.0
SELECT something*1.0/total FROM somewhere
这将给予你浮点除法而不是整数除法。
h9vpoimq2#
在Sqlite中,一个整数除以另一个整数将始终向下舍入到最接近的整数。因此,需要将分子强制转换为浮点型:
SELECT CAST(field1 AS FLOAT) / field2
2sbarzqh3#
select cast ( ( select 1 ) as real );
https://www.sqlite.org/lang_expr.html#castexpr
ubby3x7f4#
或者,如果要根据文本列更新列:
UPDATE table_with_fields SET real_field=cast(field_with_txt AS real)
4条答案
按热度按时间kd3sttzy1#
只需将其中一个数字乘以
1.0
:这将给予你浮点除法而不是整数除法。
h9vpoimq2#
在Sqlite中,一个整数除以另一个整数将始终向下舍入到最接近的整数。
因此,需要将分子强制转换为浮点型:
2sbarzqh3#
https://www.sqlite.org/lang_expr.html#castexpr
ubby3x7f4#
或者,如果要根据文本列更新列: