【问题标题】:Preventing integer division by casting one of the operands as non-integer通过将操作数之一强制转换为非整数来防止整数除法
【发布时间】:2023-02-07 02:46:36
【问题描述】:

我必须投两个都将分子和分母转换为非整数数据类型以防止整数除法?

【问题讨论】:

  • 老实说,测试有多难? select 1/2::numeric ; 0.50000000000000000000
  • @AdrianKlaver 是的非常易于测试。更令人惊讶的是,我在下面列出了一些赞成的答案“也可以看看”部分有一个额外的施法(例如,2 个施法,当 1 个施法就足够时)。这个额外的演员阵容令人困惑而且不需要。

标签: postgresql casting integer-division


【解决方案1】:

投就够了的操作数(任何一个分子或分母)以防止整数除法,如手册所述。两者都不需要铸造:

select 2 / 4;                      -- 0
select 2::numeric / 4;             -- 0.50000000000000000000
select 2 / 4::numeric;             -- 0.50000000000000000000
select 2::numeric / 4::numeric;    -- 0.50000000000000000000

也可以看看:

【讨论】:

    猜你喜欢
    • 2022-01-06
    • 1970-01-01
    • 2017-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-31
    • 1970-01-01
    相关资源
    最近更新 更多