2012-11-28 37 views
6

我試圖查詢價格不是整數(沒有小數)或價格不是10的倍數的所有機會。Salesforce - SOQL在SELECT中使用mod()或類似的數學函數?

我試圖查找價格: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等

數據庫中有很多機會,我可以通過代碼通過它們,但想知道是否你們中的任何人都可以通過查詢來想出一種方法來實現這一目標。

回答

4

SOQL不會讓你做任何計算。檢查文檔herehere

必須提供原生價值的其他字段名稱或計算 不允許

一般來說它是fieldName = valuedatefieldname > YESTERDAY(日期處理一些特殊的文字)。

最簡單的方法是在記錄中創建一個公式字段(像普通數據庫中的視圖中的計算列一樣)。它可以是文本類型,稱之爲「奇怪的價格」;)Here's the complete formula functions reference - 您有MOD(),IF(condition, true, false)等好東西。

唯一需要注意的是,你不能GROUP BY公式(也有技巧來繞過;))

所以是 - 如果它是一個時間的事情與可重用性差 - 用代碼過濾器。如果您可以接受低成本(公式不使用存儲,但您可能需要它們用於其他目的) - 創建一個字段。

相關問題