每当我尝试在sql中进行除法时,我得到的是0(如何避免这种情况)?

k10s72fa  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(521)

我尝试运行此查询(current\u pop是表中国家的当前人口):

select country, current_pop/8000000000
from countries

我得到的是0。我很确定这是因为我把一个整数类型除以一个整数,所以它不会给我一个十进制数。我该怎么办?

xwmevbvl

xwmevbvl1#

你需要解决整数除法的问题。在这里,最简单的方法是将固定操作数转换为十进制数:

select country, current_pop/8000000000.0
from countries
n3schb8v

n3schb8v2#

sqlite执行整数除法,所以 1 /2 = 0 .
乘以 1.0 在任何整数被除数的计算中,sqlite会将数字转换为实数并执行实数除法:

select country, 1.0 * current_pop/8000000000
from countries

相关问题