问题是我需要在SOQL查询中比较两个不同类型的字段。
TextField是一个选择列表(实际上是文本),IntField是一个Number(2,0)。不能更改这些字段的类型。
我想写SOQL之类的;
SELECT Id FROM SomeObject__c
WHERE Cast(TextField as Integer) > IntField
显然
Cast(TextField as Integer)
不起作用。有关SOQL中类型转换的任何建议。正常的APEX函数(例如integer.valueof)在这里似乎没有任何帮助。
谢谢
最佳答案
SOQL本身不支持强制转换,但是您总是可以伸出援助之手;)
在SomeObject__c
中创建一个数值公式字段:
IF(ISNUMBER(TextField__c), VALUE(TextField__c), NULL)
或类似的东西,具体取决于您对强制转换为int的定义。现在,您可以在SOQL查询中使用此字段。