sql用存储过程获取包含某一时间的结果

皮皮卡卡彭 2023-01-01 23:30:15

表中有begintime和endtime  包含信息为 2020-03-28 12:00:09

怎样编写存储过程可以输入一个时间得到从开始到结束间含有这段时间所在行的全部数据

 

 

...全文
69 2 打赏 收藏 举报
写回复
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
二月十六 版主 01-04
  • 打赏
  • 举报
回复

--测试数据
if not object_id(N'Tempdb..#T') is null
    drop table #T
Go
Create table #T([begintime] DateTime,[endtime] DateTime)
Insert #T
select '2020-03-28 12:00:09','2020-03-29 12:00:09' union all
select '2020-03-01 12:00:09','2020-03-02 12:00:09'
Go
--测试数据结束
DECLARE @time DATETIME = '2020-03-28  12:00:09'
Select * from #T WHERE @time BETWEEN begintime AND endtime

img

  • 打赏
  • 举报
回复

是输入一个时间,还是日期来索引要的记录?

declare @BeginDt nvarchar(10) ='起始日期',
             @EndDt nvarchar(10) ='结束日期',
             @BeginTime nvarchar(8) ='起始时间',
              @EndTime nvarchar(8) ='结束时间'
 
if (@BeginDt !='' and @EndDt !='')
begin
    select * from [表名] where convert(date,beginTime,120) =@BeginDt and convert(date,endTime,120) =@EndDt 
end
 
if(@BeginTime !='' and @EndTime !='')
begin
    select * from [表名] where convert(varchar(8),beginTime,108) =@BeginTime and convert(varchar(8),endTime,108) =@EndTime
end
相关推荐
发帖
MS-SQL Server

3.4w+

社区成员

MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2023-01-01 23:30
社区公告
暂无公告