Преобразование времени эпохи в фабрике данных в дату и время - PullRequest
0 голосов
/ 04 октября 2018

У меня следующий запрос.Этот запрос копирует данные из Cosmos DB в Azure Data Lake.

select c.Tag
from c
where 
c.data.timestamp >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}' 

Однако я должен использовать _ts, то есть время, когда документ был создан на cosmos DBКоллекция вместо c.data.timestamp.Как преобразовать время эпохи в дату и сравнить с ним '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'

Я также пытался использовать dateadd( SECOND, c._ts, '1970-1-1' ), который явно не поддерживается.

1 Ответ

0 голосов
/ 05 октября 2018

MAK, как сказал @Chris, вы можете использовать UDF в запросе cosmos db.

udf:

function convertTime(unix_timestamp){
      var date = new Date(unix_timestamp * 1000);
      return date;
}

sql:

enter image description here

Вы можете объединить его с переводом sql:

select c.Tag
from c
where 
udf.convertTime(c._ts) >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'

Надеюсь, он вам поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...