【问题标题】:I am getting 0 whenever I try to do division in SQL (how do I get around this)?每当我尝试在 SQL 中进行除法时,我都会得到 0(我该如何解决这个问题)?
【发布时间】:2020-09-11 13:19:36
【问题描述】:

我尝试运行此查询(current_pop 是我表中国家/地区的当前人口):

select country, current_pop/8000000000
from countries

我得到的是 0s 。我很确定这是因为我将整数类型除以整数,所以它不会给我一个十进制数。我该如何解决这个问题?

【问题讨论】:

    标签: sql database sqlite select


    【解决方案1】:

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

    select country, 1.0 * current_pop/8000000000
    from countries
    

    【讨论】:

      【解决方案2】:

      您需要解决整数除法问题。这里,最简单的方法是将固定操作数转为小数:

      select country, current_pop/8000000000.0
      from countries
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2020-02-27
        • 1970-01-01
        • 2020-11-27
        • 2022-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多