datatable如何获取最近的时间点

.Net技术 码拜 9年前 (2015-05-10) 925次浏览 0个评论
 

客户选择了一个时间点,但是数据库里没有这个时间点的数据,那么我就需要找出离这个时间点前后半个小时内最近的一个时间点,比如table中数据
2015/4/17 11:13:12
2015/4/17 11:23:12
2015/4/17 11:33:12

客户选择的时间点是 2015/4/17 11:20:12,那么前后半个小时内 2015/4/17 11:23:12是最近时间我就找到这行数据

数据没有这几条记录没关系,你又不是有精准查询,你查询的是一个范围,你应该计算出这个范围,然后sql查询
xxx between 日期1 and 日期2
是这样的,因为我要找到最近的那个时间点,最后要定位到grid那个时间点的那行数据
引用 楼主 u014362090 的回复:

客户选择了一个时间点,但是数据库里没有这个时间点的数据,那么我就需要找出离这个时间点前后半个小时内最近的一个时间点,比如table中数据
2015/4/17 11:13:12
2015/4/17 11:23:12
2015/4/17 11:33:12

客户选择的时间点是 2015/4/17 11:20:12,那么前后半个小时内 2015/4/17 11:23:12是最近时间我就找到这行数据

DataTable筛选日期,参考下面这个帖子,同样的问题
http://bbs.csdn.net/topics/391018707

5分
引用 2 楼 u014362090 的回复:

是这样的,因为我要找到最近的那个时间点,最后要定位到grid那个时间点的那行数据

筛选出DataTable符合条件的日期了,你检索Grid,找到选中呗。

30分
between and
取出3条数据,然后取第一条和第二条的时间差,以及第二条和第三条的时间差,两个差值取绝对值比较,哪个小就代表哪个近
5分
select top 1 * from( select  Datediff(second,时间字段,getdate()) as a,* from 表) t  order by t.a 
如果相隔的时间超过一定的天数会导致溢出,查下Datediff函数就知道怎么解决了

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明datatable如何获取最近的时间点
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!