T-SQL Azure流分析四舍五入到分钟
我在Azure Stream Analytics查询中有以下SELECT子句:T-SQL Azure流分析四舍五入到分钟,sql,sql-server,datetime,azure,azure-stream-analytics,Sql,Sql Server,Datetime,Azure,Azure Stream Analytics,我在Azure Stream Analytics查询中有以下SELECT子句: 选择DateAdd(mi,DateDiff(mi,0,DateAdd(s,30,Max(timecreated))),0)作为“时间戳” 这将导致以下错误: 表达式“DateDiff(mi,0,DateAdd(s,30,Max(timecreated))”中的“DateDiff”的第二个参数的类型“bigint”无效应为“日期时间” 诚然,我使用的代码是从StackOverflow上的几个类似线程复制而来的,例如,但
选择DateAdd(mi,DateDiff(mi,0,DateAdd(s,30,Max(timecreated))),0)作为“时间戳”
这将导致以下错误:
表达式“DateDiff(mi,0,DateAdd(s,30,Max(timecreated))”中的“DateDiff”的第二个参数的类型“bigint”无效应为“日期时间”
诚然,我使用的代码是从StackOverflow上的几个类似线程复制而来的,例如,但我不知道在我的场景中如何将0更改为。它应该自动将0从bigint转换为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'
成功了,谢谢!我的最终代码是:
DateAdd(mi,DateDiff(mi,CAST('1900-01-01 00:00:00.000'作为DateTime)),DateAdd(s,30,Max(timecreated)),CAST('1900-01-01 00:00:00.000'作为DateTime'),
ASCAST(0作为DateTime)
在Azure T-SQL上不起作用。用最终解决方案更新了答案。