【发布时间】:2020-09-11 13:19:36
【问题描述】:
我尝试运行此查询(current_pop 是我表中国家/地区的当前人口):
select country, current_pop/8000000000
from countries
我得到的是 0s 。我很确定这是因为我将整数类型除以整数,所以它不会给我一个十进制数。我该如何解决这个问题?
【问题讨论】:
标签: sql database sqlite select
我尝试运行此查询(current_pop 是我表中国家/地区的当前人口):
select country, current_pop/8000000000
from countries
我得到的是 0s 。我很确定这是因为我将整数类型除以整数,所以它不会给我一个十进制数。我该如何解决这个问题?
【问题讨论】:
标签: sql database sqlite select
SQLite 进行整数除法,所以 1 /2 = 0.
在整数被除的任何计算中乘以1.0,因此 SQLite 会将数字转换为实数并执行实数除法:
select country, 1.0 * current_pop/8000000000
from countries
【讨论】:
您需要解决整数除法问题。这里,最简单的方法是将固定操作数转为小数:
select country, current_pop/8000000000.0
from countries
【讨论】: