Salesforce - SOQL在SELECT中使用mod()或类似的数学函数?

时间:2012-11-28 13:41:32

标签: salesforce soql

我正在尝试查询价格不是整数(无小数)或价格不是10的倍数的所有商机。

我试图找到如下价格:U $ S 34,801.23 - U $ S 56,103.69 - U $ S 50,000.12等 但不是:U $ S 49,500.00 - U $ S 19,110.00等

数据库中有很多机会,我可以通过代码查看它们,但想知道你们中是否有人能想到通过查询来实现这一点的方法。

1 个答案:

答案 0 :(得分:4)

SOQL不允许您进行任何计算。检查文档herehere

  

您必须提供原生值 - 其他字段名称或计算   不允许

一般来说,它是fieldName = valuedatefieldname > YESTERDAY(日期处理的特殊文字很少)。

最简单的方法是使用您的逻辑在记录中创建公式字段(将其视为普通数据库中视图中的计算列)。它可以是文本类型,称之为“奇怪的价格”;)Here's the complete formula functions reference - 您有MOD()IF(condition, true, false)等好东西。

唯一需要注意的是,你不能GROUP BY公式(还有一些技巧可以绕过它;)

所以是的 - 如果它是一次重复性差的东西 - 过滤代码。如果您可以接受低成本(公式不使用存储但您可能需要它们用于其他目的) - 创建一个字段。