0

Salesforce 自定义对象中的列(id)之一是字符串类型,尽管它始终包含长类型值。我想运行这样的查询。

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

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

4

2 回答 2

3

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

最终,尽管正确的答案是在需要基于文本的情况下用前导零填充数字,或者将数据类型更改为数字。

于 2012-05-17T01:38:22.817 回答
-1

如果您的 id 始终包含 long 类型值,那么您可以使用以下 where 子句

WHERE CONVERT(BIGINT, id) BETWEEN 123 AND 123456

但是,如果您的 ID 不是数值,则会引发错误

于 2012-05-17T01:01:31.713 回答