问题是我需要在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)似乎没有任何帮助。
由于
答案 0 :(得分:7)
SOQL本身不支持投射,但你总是可以伸出援助之手;)
在SomeObject__c
中创建一个数字公式字段:
IF(ISNUMBER(TextField__c), VALUE(TextField__c), NULL)
或类似的东西取决于你对int的定义。现在,您可以在SOQL查询中使用此字段。