我应该在SQL中使用DATEADD
。
我知道语法是,例如DATEADD (SECOND, 10, GETUTCDATE())
,但我需要第二个参数是可配置的。换句话说,10个数字os秒必须是查询的结果。那可能吗?提前谢谢!
答案 0 :(得分:2)
是。您只需使用子查询。在此上下文中,此类子查询称为标量子查询,这意味着它最多可返回一行且只返回一列。例如:
select dateadd(second,
(select sum(seconds) from t where col = 'x'),
getutcdate()
)
通常,这种查询通常可以在没有子查询的情况下重写。但是,子查询通常是一种很好的方法。