从秒到日期Azure 流分析中的时间



我想转换表示数据设备的数字"dd"(dd 在第二位(。

目前,我可以在 Azure 流分析中使用此查询提取年、月、日、小时:

 DATEPART(YEAR, DATEADD(MILLISECOND, dd, '1970-01-01')) AS [Year],
 DATEPART(MONTH, DATEADD(MILLISECOND, dd, '1970-01-01')) AS [Month],
 DATEPART(DAY, DATEADD(MILLISECOND, dd, '1970-01-01')) AS [Day],
 DATEPART(HOUR, DATEADD(MILLISECOND, dd, '1970-01-01')) AS [Hour]

我想从 dd 中提取日期时间,所以之后我可以插入数据库。

有人可以帮助我吗?

如果我理解,你只需要从纪元计算日期。

--If dd is milliseconds NOTE : This could cause error as DATEADD does not use BIGINT for conversion
    DECLARE @MyDate DATETIME  = DATEADD(MILLISECOND, dd, '1970-01-01')
--If dd is seconds. The safer route.
    DECLARE @MyDate DATETIME = DATEADD(SECOND, dd, '1970-01-01')

流分析支持基于 JavaScript 的 UDF,你可以试试这个

最新更新