create table tb(time datetime)
insert into tb select '2010-10-25 22:10:30' union all select '2010-11-03 15:20:00' union all select '2010-12-15 11:11:11'
go
select * from tb a where abs(datediff(s,getdate(),time))=(select min(abs(datediff(s,getdate(),time))) from tb)
go
drop table tb
/*
time
-----------------------
2010-11-03 15:20:00.000
(1 行受影响)
*/
数据表中有字段time(类型为varchar),如何通过sql语句找出这个字段里力离当前最近的一个日期
最新推荐文章于 2026-08-04 15:28:38 发布
本文通过一个SQL示例展示了如何从多个时间记录中找出与当前时间最接近的一条记录。该示例首先创建了一个包含不同时间戳的数据表,并使用`datediff`函数结合`ABS`来计算每条记录与当前时间的时间差,最后通过`MIN`函数筛选出时间差最小的记录。
,如何通过sql语句找出这个字段里力离当前最近的一个日期&spm=1001.2101.3001.5002&articleId=6023382&d=1&t=3&u=9c723f7de9764bac99e10c10d4dec4b9)
788

被折叠的 条评论
为什么被折叠?



