2012-11-28 10 views
6

Sto provando a interrogare tutte le opportunità che hanno un prezzo che non è un numero intero (senza decimali) o se il suo prezzo non è multiplo di 10.Salesforce - SOQL Usa mod() o funzioni matematiche simili in SELECT?

Sto cercando di trovare prezzi come: U $ S 34,801.23 - U $ S 56.103.69 - U $ S 50.000.12 ecc. U $ S 49.500.00 - U $ S 19.110.00 ecc.

Ci sono molte opportunità nel database, e posso passarle attraverso il codice ma volevo sapere se Ognuno di voi può pensare a un modo per ottenere una parte di ciò con una query.

risposta

4

SOQL non consente di eseguire calcoli. Controllate la documentazione di here e here:

È necessario fornire una nomi dei campi di valore-altri nativi o calcoli sono non consentiti

In generale si tratta di fieldName = value o datefieldname > YESTERDAY (pochi letterali particolare per la manipolazione della data).

Il più semplice sarebbe creare un campo formula nel record (pensateli come colonne calcolate nelle viste nei normali database) con la vostra logica. Potrebbe essere di tipo testo, chiamalo "prezzo strano";) Here's the complete formula functions reference - hai MOD(), IF(condition, true, false) ecc.

L'unica avvertenza è che non si può GROUP BY formula (c'è anche trucchi per aggirare questo;))

Quindi sì - se si tratta di una cosa del tempo con scarsa riutilizzabilità - filtro con il codice. Se è possibile accettare il basso costo (le formule non utilizzano lo spazio di archiviazione ma potrebbero essere necessarie per altri scopi): creare un campo.

Problemi correlati