SQL中的DATEADD,其中第二个参数是查询的结果

时间:2016-03-11 13:03:41

标签: sql sql-server dateadd

我应该在SQL中使用DATEADD

我知道语法是,例如DATEADD (SECOND, 10, GETUTCDATE()),但我需要第二个参数是可配置的。换句话说,10个数字os秒必须是查询的结果。那可能吗?提前谢谢!

1 个答案:

答案 0 :(得分:2)

是。您只需使用子查询。在此上下文中,此类子查询称为标量子查询,这意味着它最多可返回一行且只返回一列。例如:

select dateadd(second,
               (select sum(seconds) from t where col = 'x'),
               getutcdate()
              )

通常,这种查询通常可以在没有子查询的情况下重写。但是,子查询通常是一种很好的方法。