【问题标题】:SQL JOIN ON Round up values - ISSUESQL JOIN ON 向上取整值 - ISSUE
【发布时间】:2018-10-29 11:50:07
【问题描述】:

我正在使用的电流:

FLOOR(cash / 100) * 100

问题我所拥有的是匹配像

这样的值
CASH     BANK
699.54   702.45

当我运行公式时,它等于:

CASH     BANK
600      700

我不知道怎么做,但是在这种情况下是否可以加入?

【问题讨论】:

  • 一般来说,匹配浮点值并且通常匹配数值是一个非常糟糕的主意。您应该提供示例数据(以表格形式)和预期结果,并解释为什么在某些情况下而不是全部情况下对值进行四舍五入。
  • 这是我上一个问题的一部分 - stackoverflow.com/questions/53007256/…,在这种情况下,他们只有这个信息,我需要尝试根据银行和商店的现金加入,所以目前正在寻找最好的方法。我提供了一个小样本,我更需要逻辑而不是实际答案的帮助。如果可能的话。
  • @a_horse_with_no_name Google BigQuery

标签: sql join google-bigquery


【解决方案1】:

你可以使用 FLOOR 来代替:

ROUND(cash/100,0)*100

或者,如果您有预期的误差范围,您可以加入以下内容:

BANK between CASH-5 AND CASH+5 

实际上,这完全取决于您对这些不会导致错误蔓延到您的数据中的信心,或者在错误覆盖您获得的好处之前您可以接受多少错误。

【讨论】:

  • 假设这是正确的答案,根据研究,目前还没有一个工具可以根据最小的差异加入。
  • 问题在于,对你来说很小的差异可能对其他人来说是巨大的
  • @Babbylank 目前我不是在寻找 100% 的匹配......但至少它有助于匹配 80% 左右......
猜你喜欢
  • 2021-01-07
  • 1970-01-01
  • 2012-06-01
  • 1970-01-01
  • 2022-11-09
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 2021-01-06
相关资源
最近更新 更多