在sqlite中将int转换为真实的

zlhcx6iw  于 2023-03-03  发布在  SQLite
关注(0)|答案(4)|浏览(171)

sqlite中的除法返回整数值

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

我们可以对结果进行类型转换以获得除法结果的真实的值吗?

kd3sttzy

kd3sttzy1#

只需将其中一个数字乘以1.0

SELECT something*1.0/total FROM somewhere

这将给予你浮点除法而不是整数除法。

h9vpoimq

h9vpoimq2#

在Sqlite中,一个整数除以另一个整数将始终向下舍入到最接近的整数。
因此,需要将分子强制转换为浮点型:

SELECT CAST(field1 AS FLOAT) / field2
2sbarzqh

2sbarzqh3#

select cast ( ( select 1 ) as real );

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

ubby3x7f

ubby3x7f4#

或者,如果要根据文本列更新列:

UPDATE table_with_fields SET real_field=cast(field_with_txt AS real)

相关问题