Есть ли функция SOQL для преобразования даты в метку времени Unix в Salesforce SOQL или SOSL?

#salesforce #unix-timestamp #soql

#salesforce #unix-временная метка #soql

Вопрос:

Привет разработчикам Salesforce,

Я экспортирую стандартные поля контактов с помощью Salesforce SOQL. Мне нужно импортировать его в другой инструмент, но мне нужно преобразовать LastModifiedDate, который является строкой даты и времени ISO, в секунды метки времени Unix с 1/1/1970.

 SELECT Email,LastModifiedDate FROM Contact

    Email                           LastModifiedDate
1   john.doe@trailhead.com          2020-10-27T14:06:12.000Z
2   laetitia.arevik@trailhead.com   2020-10-27T14:06:11.000Z
  

У вас есть какие-либо идеи, как это сделать?

Я использую платформу iPaaS для загрузки SOQL через API (app.tray.io , elastic.io и Salesforce Workbench для решения проблем с отладкой), поэтому у меня нет доступа к написанию пользовательского кода javascript или apex.

Я проверил официальные функции даты Salesforce, но я не вижу функции, которая мне нужна.

Не работает:

 SELECT Email,FirstName,LastModifiedDate.getTime(),LastName FROM Contact
SELECT Email,FirstName,DateTime(LastModifiedDate).getTime(),LastName FROM Contact
  

Спасибо за ваши идеи!

Ответ №1:

Можете ли вы создать новое поле формулы (тип = число) с помощью чего-то вроде (LastModifiedDate - DATETIMEVALUE('1970-01-01 00:00:00')) * 24 * 60 * 60 . И SELECT LastModifiedTimestamp__c... или как бы вы это ни называли.

Я не помню, делает ли это секунды или миллисекунды, возможно, вам придется умножить на 1000. Немного расточительно иметь поле только для этого, но хорошо, что вы можете сделать.