Sql server 在存储过程中传递相同的日期时,无法获取数据
我有一张这样的桌子: 我有这样的存储过程:Sql server 在存储过程中传递相同的日期时,无法获取数据,sql-server,Sql Server,我有一张这样的桌子: 我有这样的存储过程: 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,
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),我将不会得到任何结果,如果我只通过了不同的日期,我将得到结果,我的存储过程出现了什么问题
我想你需要这个:
声明@date1 datetime=CONVERT(datetime,@startdate+'00:00:00',120);
声明@date2 datetime=CONVERT(datetime,@enddate+'23:59:59',120) 先生,这就是为什么我将开始日期设置为00:01:00,结束日期设置为一天的结束时间(我的意思是00:23:59),但这只是一天中的23分59秒。你的时间都超过了17个小时哦,我错给了这样的日期我给了这样的日期:23:23:59.000现在我得到了正确的答案谢谢你的帮助