SOQL 类型转换 (SalesForce.com)

发布于 2024-11-05 12:56:26 字数 377 浏览 0 评论 0原文

问题是我需要在 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)在这里似乎没有任何帮助。

谢谢

The problem is that I need to compare two fields of different types in a SOQL query.

TextField is a Picklist (so really text) and IntField is a Number(2, 0). Changing the types of these fields is not possible.

I would like to write SOQL like;

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

Obviously Cast(TextField as Integer) does NOT work.

Any advise on type conversion within SOQL. The normal APEX functions (e.g. integer.valueof) don't seem to be of any help here.

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

软的没边 2024-11-12 12:56:26

SOQL 本身不支持强制转换,但您始终可以伸出援手;)

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

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

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

SOQL itself does not support casting but you can always lend a helping hand ;)

Create a Numeric formula field in SomeObject__c:

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

or something similar depending on your definition of cast to int. Now you can use this field in a SOQL query.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文