10

问题是我需要在 SOQL 查询中比较两个不同类型的字段。

TextField 是一个 Picklist(实际上是文本),而 IntField 是一个 Number(2, 0)。无法更改这些字段的类型。

我想写 SOQL 之类的;

SELECT Id FROM SomeObject__c
WHERE Cast(TextField as Integer) > IntField

显然Cast(TextField as Integer)不起作用。

关于 SOQL 中类型转换的任何建议。正常的 APEX 函数(例如 integer.valueof)在这里似乎没有任何帮助。

谢谢

4

1 回答 1

7

SOQL 本身不支持强制转换,但您总是可以伸出援助之手;)

在 中创建一个数字公式字段SomeObject__c

IF(ISNUMBER(TextField__c), VALUE(TextField__c), NULL)

或类似的东西,具体取决于您对强制转换为 int 的定义。现在您可以在 SOQL 查询中使用该字段。

于 2011-05-06T19:30:50.590 回答