[英]T-SQL Azure Stream Analytics Rounding to Minute
我的Azure流分析查询中有以下SELECT子句:
SELECT DateAdd(mi, DateDiff(mi, 0, DateAdd(s, 30, Max(timecreated))), 0) as 'timestamp'
这给出了以下错误:
表达式'DateDiff(mi,0,DateAdd(s,30,Max(timecreated)))'中'DateDiff'的第二个参数具有无效类型'bigint'。 'datetime'是预期的。
不可否认,我正在使用的代码是从StackOverflow上的几个类似线程中复制的,例如T-SQL日期时间四舍五入到最接近的分钟和使用函数的最近几小时 ,但我不知道在我的场景中将0更改为什么。
它应该从bigint自动转换为0到datetime,但是Azure版本的T-SQL可能存在一些怪癖。 相反,使用:
SELECT DATEADD(mi,
DATEDIFF(mi, CAST('1900-01-01 00:00:00.000' AS DateTime),
DATEADD(s, 30, MAX(timecreated))),
CAST('1900-01-01 00:00:00.000' AS DateTime)) as 'timestamp'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.