Salesforce SOQL中的LIKE运算符不转义特殊字符

Salesforce SOQL中的LIKE运算符不转义特殊字符,salesforce,sql-like,soql,Salesforce,Sql Like,Soql,下面是我的SOQL qoery SELECT ID,Name, Dodge_Report_Number__c,Project_Name__c,Bid_Date__c,GC_Awarded__c,Action_Stage__c,Target_Start_Date__c,Project_Valuation_High__c,Project_Valuation_Low__c,Type_Of_Work__c,Removed_By__r.Name, Removed_By__r.LastName ,Remov

下面是我的SOQL qoery

SELECT ID,Name, Dodge_Report_Number__c,Project_Name__c,Bid_Date__c,GC_Awarded__c,Action_Stage__c,Target_Start_Date__c,Project_Valuation_High__c,Project_Valuation_Low__c,Type_Of_Work__c,Removed_By__r.Name, Removed_By__r.LastName ,Removed_By__r.FirstName,Reason_Removed_Comments__c,Reason_Why_Project_Removed__c,Branch_ID__c FROM Dodge_Project__c WHERE Branch_ID__c != null AND CreatedDate >= LAST_QUARTER AND CreatedDate <= THIS_QUARTER AND Job_Profile_Status__c NOT IN('Created','Removed') AND Branch_ID__c IN('101','102','909','903','941','994','217','904') AND (Action_Stage__c IN ('Start','Construction') OR GC_Awarded__c = TRUE) and (Name like 'P@#$&(%' or Dodge_Report_Number__c like 'P@#$&(%' or Project_Name__c like 'P@#$&(%' or Action_Stage__c like 'P@#$&(%' or Type_Of_Work__c like 'P@#$&(%' or Removed_By__r.Name like 'P@#$&(%' or Reason_Why_Project_Removed__c like 'P@#$&(%' or Branch_ID__c like 'P@#$&(%') order by Name asc NULLS FIRST
我收到一个错误,如在like运算符使用的筛选器值p@$&%中发现无效字符

如果我像这样写查询

SELECT ID,Name, 

Dodge_Report_Number__c,Project_Name__c,Bid_Date__c,GC_Awarded__c,Action_Stage__c,Target_Start_Date__c,Project_Valuation_High__c,Pro

ject_Valuation_Low__c,Type_Of_Work__c,Removed_By__r.Name, Removed_By__r.LastName 

,Removed_By__r.FirstName,Reason_Removed_Comments__c,Reason_Why_Project_Removed__c,Branch_ID__c FROM Dodge_Project__c WHERE 

Branch_ID__c != null AND CreatedDate >= LAST_QUARTER AND CreatedDate <= THIS_QUARTER AND Job_Profile_Status__c NOT IN

('Created','Removed') AND Branch_ID__c IN('101','102','909','903','941','994','217','904') AND (Action_Stage__c IN 

('Start','Construction') OR GC_Awarded__c = TRUE) and ( Project_Name__c like 'P@#$&(%' ) order by Name asc NULLS FIRST
它工作得很好

问题是什么?
谢谢。

如果我转义like p@$&\\n,则不会出现错误,但如果记录包含字符,则不会使用like查询进行搜索。我无法在代码中使用SOSL。如果我转义like P@$&\n,则like查询中会出现错误,如果选取列表值包含该记录的值,则第一个查询将返回该记录。对于普通文本字段,它不会返回记录,尽管其中有一个。