1

我有一张这样的桌子: 在此处输入图像描述

我有这样的存储过程:

ALTER PROCEDURE [dbo].[Test4]    
  @startdate varchar(100),   
  @enddate varchar(100)
as  begin   
   declare @date1 datetime = CONVERT(datetime, @startdate + ' 00:01:00', 120);
   declare @date2 datetime = CONVERT(datetime, @enddate + ' 00:23:59', 120);

   select t.PlateNo  
   from Transaction_tbl t    
   WHERE dtime between @date1 AND @date2; 
end; 

如果我通过相同的日期(开始日期:2013-05-07 和结束日期:2013-05-07)没有得到任何结果,如果我只通过不同的日期,我会得到结果,我的存储过程有什么问题

4

1 回答 1

2

时间以 hh:mm:ss 为单位

我认为你需要这个:

声明@date1 datetime = CONVERT(datetime, @startdate + '00:00:00', 120); 声明@date2 datetime = CONVERT(datetime, @enddate + '23:59:59', 120);

于 2013-08-25T19:44:58.500 回答