Проблема с Динамическим SOQL DateTime

Проблема с Динамическим SOQL DateTime

Добрый день. Не могу решить задачку с поиском по полю DateTime.
Например пользователь вводи в строку поиска 8/5/2019 8:26 PM. Далее с помощью APEX получаю
String datimeForSearch = DateTime.parse(8/5/2019 8:26 PM).formatGMT('yyyy-MM-dd\'T\'hh:mm:ss\'Z\'');
Вставляю в SOQL и ничего не находит. В базе в поле DateTime содержится дата следующего формата :2019-08-05T17:26:59.000+0000, при вычислении datimeForSearch в Debug отображается дата типа 2019-08-05T17:26:Z.

Искать точное (=) совпадение по Datetime ни в коем случае нельзя! То что она показывается в формате ISO не значит что ты даже при полном совпадении (ручном вводе даты времени) что-то найдешь. В базе датавремя может храниться еще с милисекундами, но в выводе они просто округляются. Искать надо временной период (startDatetime < ... < endDatetime)

Дмитрий спасибо. Получился такой запрос: SELECT Name, Price__c, Amount__c,ProductType__c, ReleaseDate__c, Available__c, AddedDate__c FROM ProductTable__c WHERE AddedDate__c>2019-08-07T06:15:00Z and AddedDate__c<2019-08-07T06:16:00Z ORDER BY AddedDate__c DESC, но что-то не ищет. По отдельности если писать AddedDate__c>2019-08-07T06:15:00Z без AND все работает. Типа BETWEEN оператора есть ли что-то подобное?

Все, нашел ошибку. Туплю.

Interesting information? Help us, post link to social media..