当前位置: 代码迷 >> Sql Server >> datediff , dateadd 等批改
  详细解决方案

datediff , dateadd 等批改

热度:299   发布时间:2016-04-24 09:39:56.0
datediff , dateadd 等修改
select min(membersinceutc) where datediff(hh, membersinceutc, getutcdate()) <= 24  得到 min( membersinceutc) 是整点的如 
 如果修改成 where membersinceutc >= dateadd(hh, -24, getutcdate())  ,则得到时间非整点, 如 2014-11-24 04:37:19.917

1. 应该怎么改和前一句一样结果, 而且是membersinceutc 在函数外面的效果?求最佳方法




------解决思路----------------------
我之前误解你的意思了
WHERE membersinceutc >= CONVERT(VARCHAR(14),dateadd(hh, -24, getutcdate()),120)+'00:00'

------解决思路----------------------
如果 min(membersinceutc) 始终能返回整点时间,岂不是 membersinceutc 的记录很多分步到所有的 1/300 秒。
那么就不要从表中查询了,可以直接用当前日期计算得到了。
  相关解决方案