【问题标题】:How to convert Explicitly in Salesfore SOQL - Invalid bind expression type of SOBJECT如何在 Salesforce SOQL 中显式转换 - SOBJECT 的无效绑定表达式类型
【发布时间】:2013-09-02 22:54:15
【问题描述】:

有没有办法在 SOQL 中做到这一点?

(这是一条sql语句)

转换(varchar(35),[FieldName1])

我正在尝试执行 SOQL WHERE 语句来比较帐户和机会。

这就是我想要的:

SELECT Convert(VarChar(35),FieldName1), FieldName2

来自 tbl

其中字段名称 1 = 字段名称 2

我认为这是我需要的,因为这是我收到的错误消息:

SOBJECT 的绑定表达式类型无效:String 类型列的帐户

【问题讨论】:

  • 请提供更多关于您要完成的工作的信息。

标签: salesforce soql


【解决方案1】:

SOQL 无法在左侧和右侧都是字段的情况下执行比较,因此您无法在纯 SOQL 中执行此操作。如果这是一次性查询(即您不必即时构建这样的查询),那么您可以定义一个类似于

的公式字段
IF(Field1__c=Field2__c,1,0)

或者如果类型不同

IF(TEXT(Field1__c)=Field2__c,1,0)

然后你的 SOQL 将是

SELECT Field1__c WHERE MyFormulaField__c=1

如果您需要对其进行概括,在 Apex 中还有其他更复杂的方法可以执行此操作,但公式字段方法是产生最简单查询结构的最简单方法。

此外,您不能在 SOQL 中将任何内容转换为 VARCHAR。您必须按照我上面的建议在公式字段中进行转换,或者在 Apex 或您发出查询的任何语言之后进行转换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-18
    相关资源
    最近更新 更多