Есть ли функция ESQL для преобразования TIMESTAMP в миллисекунды UTC?
Вот что я сделал:
DECLARE eventTimeInteger INTEGER CAST ((eventTimeStamp - epochTimeStamp) SECOND as INTEGER);
Но я продолжаю получать эту ошибку. Поэтому я подозреваю, что "-" является проблемой, но я не уверен, как еще это сделать.
BIP2420E: (.Event_SeparateMessages.Main, 142.60): недопустимые или несовместимые типы данных для оператора «-».
Либо типы данных операндов оператора недопустимы для оператора, либо типы данных несовместимы.
Исправьте синтаксис выражения ESQL в узле '.Event_SeparateMessages.Main' вокруг строки и столбца '142.60', затем повторно разверните поток сообщений: Убедитесь, что типы данных операндов допустимы и совместимы друг с другом.
Это ниже то, что я пробовал, но он даже не будет развернут.
--Converting time in string to timestamp
DECLARE source CHARACTER eventTime ;
DECLARE eventTimeStamp CHARACTER;
DECLARE pattern CHARACTER 'yyyy-MM-dd''T''HH:mm:ss.SSS''Z';
SET eventTimeStamp = CAST(source AS TIMESTAMP FORMAT pattern);
DECLARE epochTimeStamp TIMESTAMP '1970-01-01 00:00:00';
--Casting time from timestamp to Integer
DECLARE eventTimeInteger INTEGER CAST ((eventTimeStamp - epochTimeStamp) SECOND as INTEGER);
Мне нужно, чтобы "eventTimeInteger" дал мне метку времени в секундах.