T-SQL Azure流分析四舍五入到分钟

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上的几个类似线程复制而来的,例如,但

我在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上的几个类似线程复制而来的,例如,但我不知道在我的场景中如何将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'),
AS
CAST(0作为DateTime)
在Azure T-SQL上不起作用。用最终解决方案更新了答案。