Cod*_*ome 0 sql logic sql-server-2005 date between
我希望检索myDate在startDate'和endDate' 之间的所有记录,但不返回具有完全相同日期的记录.我正在使用MS SQL 2005.
我试过了:
Select *
From myDatabase
Where empId = 145
and myDate between startDate and endDate
但是如果myDate是'11/16/2011',则上述查询将返回具有startDate和endDate= '11/16/2011'的记录.这不是我想要的.我不想要有startDate和endDate=的记录myDate
所以我尝试过:
Select *
From myDatabase
Where empId = 145
and myDate between startDate and endDate
and (myDate <> startDate AND myDate <> endDate)
这适用于所有情况吗?
a1ex07是正确的,这将起作用
myDate > startDate AND myDate < endDate
如果你坚持使用BETWEEN那么这也会起作用
mydate BETWEEN startDate + INTERVAL 1 DAY AND endDate - INTERVAL 1 DAY
编辑:刚看到SQL Server的标签不是MySQL,所以上面是针对MySQL,SQL Server的等价物
myDate BETWEEN DATEADD(DAY, 1, startDate) AND DATEADD(DAY, -1, endDate)