在Stream Analytics查询中,我尝试将日期转换为简单的ISO 8601仅限日期格式,如下所示:
CONCAT(
c.IoTHub.ConnectionDeviceId,
'@',
CAST(DATEPART(year, EventProcessedUtcTime) as nvarchar(max)),
'-',
CAST(DATEPART(month, EventProcessedUtcTime) as nvarchar(max)),
'-',
CAST(DATEPART(day, EventProcessedUtcTime) as nvarchar(max))
) as partitionkey
这项工作正常,但它会产生如下日期:
2017-3-5
我更倾向于将日期设为零 - 填充,如下所示:
2017-03-05
这是T-Sql中的simple thing,但我没有看到任何必要的工具可以让这个或任何其他技巧在SA query language subset中出现。
有人知道解决这个问题的方法吗?
答案 0 :(得分:1)
根据您的要求,我假设您可以使用Azure Stream Analytics JavaScript user-defined functions。
例如,我刚创建了一个名为dateFormat
的用户定义函数,如下所示:
function main(dateStr) {
var date=new Date(dateStr);
var mm = (date.getMonth()+1).toString();
var dd = date.getDate().toString();
return date.getFullYear().toString() + '-' + (mm[1]?mm:"0"+mm[0]) + '-' + (dd[1]?dd:"0"+dd[0]);
}
<强>用法强>:
SELECT UDF.dateFormat(EventProcessedUtcTime) FROM [YourInputAlias]