在SOQL中使用字符串中的比较

时间:2012-05-17 00:51:00

标签: salesforce soql

Salesforce自定义对象中的一个列(id)是String类型,但它始终包含长类型值。我想运行这样的查询。

其中id> =' 123'和id< =' 123456';

这有什么解决方案吗?无法在Salesforce中更改列的数据类型。

2 个答案:

答案 0 :(得分:3)

数据类型转换不可能作为SOQL语法的一部分。您需要恢复完整的结果集并过滤结果。或者,如果您无法更改数据类型,那么您可以使用公式字段或工作流更新将字段复制到隐藏字段,您可以执行大于小于查询的字段。这不是最佳实践,但如果您真的陷入解决方案,这是一个想法。

最终,虽然正确的答案是,如果需要基于文本或将数据类型更改为数字,则使用前导零填充数字。

答案 1 :(得分:-1)

如果您的id总是包含长类型值,那么您可以使用以下where子句

WHERE CONVERT(BIGINT, id) BETWEEN 123 AND 123456

但是,如果您的ID不是数值

,则会引发错误