数据表名为nh_info
共有7个字段,其中两个是本问题涉及到的。
一个是PKID,另一个是Addtime,Addtime的内容如下
2006-12-11 17:02:55
2006-12-11 17:03:14
2006-12-12 10:39:36
2006-12-12 10:39:46
2006-12-12 10:39:54
2006-12-12 10:40:02
2006-12-12 10:40:10
2006-12-12 10:40:18
2006-12-12 10:40:29
2006-12-18 14:22:15
我想写个sql语句,把离现在时间最近的Addtime相对应的PKID找出来(假如某个记录的Addtime的时间值离现在时间最近,那么把这个记录的PKID提出来),Addtime的值是不确定的,因为数据库不停在在增加东西。高手请帮帮忙。

解决方案 »

  1.   

    如果最近就是最大
    select top 1 PKID from nh_info order by Addtime desc如果最近不一定是最大
    select top 1 PKID from nh_info order by abs(datediff(second,Addtime,getdate()))
      

  2.   

    select top 1 PKID from nh_info order by Addtime desc
      

  3.   

    select min(ABS(datediff(ms,addtime,getdata()))) from nh_info
      

  4.   

    select * from nh_info where Addtime=
    (select max(Addtime) from nh_info)