Java 字符串格式说明符与 SOQL 通配符冲突

Java string format specifier collides with SOQL wildcard

我正在尝试从 Java 执行 SalesForce 查询,我想将当前日期和时间插入到查询中。但是,我还想为标题添加一个通配符,并且通配符的百分比被解释为格式说明符并给出错误。

String soqlQuery = new String.format("SELECT Id, Title, CreatedDate "
                         + "FROM FeedItem "
                         + "WHERE title like '%ven%' and createdDate %s ", timeOfLastQuery);

我只能使用字符串连接来解决这个问题,但我想知道是否有办法创建一个包含专门使用格式化字符串的通配符的查询字符串。

你可以用另一个 % 来逃避它们,比如

 String soqlQuery = new String.format("SELECT Id, Title, CreatedDate "
                     + "FROM FeedItem "
                     + "WHERE title like '%%ven%%' and createdDate %s ", timeOfLastQuery);