我想知道是否可以从数据库表中获取 StartDate 和 EndDate 而不是分配 StartDate 和 EndDate 参数,如下所示?我已经在另一个表中有日期了。我需要获取这两个日期之间的数据。
DECLARE @StartDate datetime = '1/4/2015'
DECLARE @EndDate datetime = '5/20/2015'
是否有可能做到这一点?
演示
注意您将获得最后读取的日期,并且没有自然顺序,因此您需要一个独特的排序来获得一个好的分配。
declare @dates table(iden int identity primary key, d1 datetime, d2 datetime)
insert into @dates values ('1/1/1910', '1/2/1910'), ('1/1/1915', '1/2/1915');
DECLARE @StartDate DATETIME = (select top (1) d.d1 from @dates d);
DECLARE @EndDate DATETIME;
SELECT @StartDate = d.d1, @EndDate = d.d2
FROM @dates d;
select @StartDate, @EndDate
SELECT top (1) @StartDate = d.d1, @EndDate = d.d2
FROM @dates d
order by d.iden;
select @StartDate, @EndDate
----------------------- -----------------------
1915-01-01 00:00:00.000 1915-01-02 00:00:00.000
----------------------- -----------------------
1910-01-01 00:00:00.000 1910-01-02 00:00:00.000
在声明行中,您需要使用 ( ) 并且只返回 1
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句