Ist es möglich, concat strings in SOQL?

Gelesen habe ich den thread aus 2005 und die Menschen sagten, SOQL unterstützt keine string-Verkettung.

Aber Frage mich, ob es unterstützt wird und jemand der dies getan hat.

Ich versuche, concat, aber kein Glück 🙁

Unten ist APEX code versuchen zu finden der Datensatz mit der angegebenen E-Mail.

String myEmail = '[email protected]';
String foo = 'SELECT emailTo__c, source__c FROM EmailLog__c 
              WHERE source__c = \'' +
              myEmail + '\';

Database.query(foo)

Obwohl der Datensatz wird zwar in der Datenbank, ist es nicht die Abfrage nichts. Debug zeigt
"Zeile(0)" die leere ist zurückgekehrt.

Mache ich concat falsche Weg?

UPDATE

Ich habe gerade einen Weg gefunden, nicht in einfachen Anführungszeichen. Nur notwendig ist, um denselben Doppelpunkt variable sogar für die Zeichenfolge Abfragen.

String foo = DateTime.newInstance(......);

String bar = 'SELECT id FROM SomeObject__c WHERE createdOn__c = :foo';

List<SomeObject__c> result = Database.query(bar);

System.debug(result);

Diese funktioniert auch und ist notwendig, wenn die WHERE-Klausel enthält, die DateTime-da DateTime nicht umgeben Sie mit Anführungszeichen.

InformationsquelleAutor masato-san | 2010-11-15
Schreibe einen Kommentar