MSSQL中获取里当前时间最近的数据(个人Coding 的时候用到了,记一下)

来源:互联网 发布:ios 高仿今日头条源码 编辑:程序博客网 时间:2024/05/01 18:49
在某些数据中获取离当前时间最近的数据

--测试数据CREATE TABLE #testTable(id INT,addTime DATETIME)INSERT INTO #testTableSELECT 1,'2013-7-8  12:00:00' UNION ALLSELECT 3,'2013-04-23  10:00:00' UNION ALLSELECT 4,'2013-04-24 12:00:00' UNION ALLSELECT 5,'2013-04-24 16:00:00'SELECT * FROM #testTable
--思路,获取所有时间与当前时间之隔,转换为 Float 类型之后取绝对值,最小的数据就是最近的。SELECT TOP 1 * FROM #testTable ORDER BY ABS(CAST((addTime - GETDATE())as FLOAT)) ASCDROP TABLE #testTable/*当前时间是 14:33 事实离 16:00 才是最近的。id          addTime----------- -----------------------5           2013-04-24 16:00:00.000(1 row(s) affected)*/


原创粉丝点击