him*_*056 4 sql sql-server select select-query
我有一个像这样的表(例如tableA):
| Name | Startdate | Enddate | |---------------------------------| | a | 2012-07-01 | 2013-06-30 | | b | 2011-05-01 | 2012-04-30 | | c | 2010-01-01 | 2013-12-31 | | d | 2013-01-01 | 2014-12-31 | | e | 2011-07-01 | 2012-06-30 |
我想从桌子上得到一个活跃于和之间的名字.从上表中,结果应该是a,c和e.2012-05-012012-10-31
我所做的如下:
SELECT Name FROM tableA WHERE startdate<='2012-05-01' AND enddate>='2012-10-31'
Run Code Online (Sandbox Code Playgroud)
但我得不到正确的结果.
declare @T table
(
Name char(1),
Startdate datetime,
Enddate datetime
)
insert into @T values
('a', '20120701', '20130630'),
('b', '20110501', '20120430'),
('c', '20100101', '20131231'),
('d', '20130101', '20141231'),
('e', '20110701', '20120630')
declare @StartDate datetime = '20120501'
declare @EndDate datetime = '20121031'
select Name
from @T
where Startdate < @EndDate and
Enddate > @StartDate
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10452 次 |
| 最近记录: |