将数据工厂中的纪元时间转换为日期时间
Convert epoch time in Data Factory to datetime
我有以下查询。此查询将数据从 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' )
这显然不受支持。
正如@Chris 所说,您可以在 cosmos 数据库查询中使用 UDF。
udf:
function convertTime(unix_timestamp){
var date = new Date(unix_timestamp * 1000);
return date;
}
sql:
您可以将其合并到您的传输中 sql:
select c.Tag
from c
where
udf.convertTime(c._ts) >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'
我有以下查询。此查询将数据从 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' )
这显然不受支持。
正如@Chris 所说,您可以在 cosmos 数据库查询中使用 UDF。
udf:
function convertTime(unix_timestamp){
var date = new Date(unix_timestamp * 1000);
return date;
}
sql:
您可以将其合并到您的传输中 sql:
select c.Tag
from c
where
udf.convertTime(c._ts) >= '@{formatDateTime(addminutes(pipeline().TriggerTime, -15), 'yyyy-MM-ddTHH:mm:ssZ' )}'