SQL语句如何查询某个时间节点的前后数据?

例如8点40分前后的数据,如图:如何截取到这两条记录?... 例如 8点40分前后的数据,如图:如何截取到这两条记录? 展开
 我来答
L一Yolanda
2018-04-04 · TA获得超过3.1万个赞
知道大有可为答主
回答量:211
采纳率:100%
帮助的人:3.5万
展开全部

敲入:1234567select top 1* from tablewhere FinishTime>'2016-01-01 08:00:00.000'order by FinishTimeunion allselect top 1* from tablewhere FinishTime<'2016-01-01 08:00:00.000'order by FinishTime desc

  • 时间节点是一个很抽象和应用很广泛的概念,通俗的说就是某个大环境中的一个点或者一段,好比公交车线路中的一个站台。比如在工期计划,或者工派喊作计划等里面体现较多。 以工期计划为例,时间节点可以代表工程的某个阶段或者某个里兆陆程碑的点,而此阶段或这个里程碑之前的工作需要在某个时间之前完成,这就是工程中经常提到的时间节点。 其他行业也是一样的,譬如某软件的开发工作需要在某时完成,调试工作某时完成,销售推广某时完成等,都是时间节点尘猜野。

百度网友4461b7e
2017-05-03 · TA获得超过925个赞
知道小有建树答主
回答量:541
采纳率:57%
帮助的人:238万
展开全部

暂液培时没厅肆想到特别好的方法,只能用笨方法闹伏唯写,不然只能写个游标。时间是个复杂的东西,不要把时间想的太简单:

select top 1* from table
where FinishTime>'2016-01-01 08:00:00.000'
order by FinishTime
union all
select top 1* from table
where FinishTime<'2016-01-01 08:00:00.000'
order by FinishTime desc
追问
那如果这个8:40是每天的呢? 例如按照一个时间段查询如:2015-10-1号之2015-10-8 号
就是说:查询2015-10-1号到2015-10-8 号这段时间内所有的8:40分前后的两条数据。
追答
那么你需要使用存储过程,写一个循环来实现。变量输入一个开始日期和结束日期,然后在存储过程里面拼凑出一个时间来。然后在循环内进行判定。如果你设定的高级一点,那么可以多几个变量,比如第一个变量是开始时间,第二个变量为结束时间,最后一个变量为时分秒。然后在存储过程中进行变量拼凑成时间,然后用while循环去比较,返回结果即可。因为时间是个可变的变量,那么整个SQL就是个动态的SQL了,并不是静态的SQL了。如果你的时分秒是死的,那么你只要开始时间和结束时间,其余的在存储过程中写死就行了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
解0人
2017-05-03 · TA获得超过2389个赞
知道大有可为答主
回答量:1474
采纳率:83%
帮助的人:744万
展开全部
select * from tableName
where 旁游
FinishTime=(select MAX(FinishTime) from tableName where FinishTime<='2016-01-01 08:40')
or 
FinishTime=(select Min(FinishTime) 激笑from tableName where FinishTime>'2016-01-01 运铅销08:40')
追问
那如果这个8:40是每天的呢? 例如按照一个时间段查询如:2015-10-1号之2015-10-8 号
就是说:查询2015-10-1号到2015-10-8 号这段时间内所有的8:40分前后的两条数据。
追答
select * from tableName 
where 
(FinishTime in(select MAX(FinishTime) from tableName 
where FinishTime<=left(FinishTime,10)+' 08:40' group by left(FinishTime,10))
or 
FinishTime in(select Min(FinishTime) from tableName 
where FinishTime>left(FinishTime,10)+' 08:40' group by left(FinishTime,10))
) and (FinishTime between '2015-10-1' and '2015-10-8')
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式