select * from a where starttime>=2007-11-1 and endtime <=2007-12-1 --全包含 select * from a where starttime<=2007-12-1 or endtime>=2007-11-1 --部分包含
select * from a where starttime between '2007-11-1' in '2008-1-1' and endtime<'2008-1-1'
select * from table where starttime<2007-11-1 and endtime > 2007-12-1
select * from a where starttime>='2007-11-1' and endtime <='2007-12-1' select * from a where starttime<='2007-12-1' or endtime>='2007-11-1'
select * from 表 where starttime>='2007-11-1' and endtime <='2007-12-1'
晕,不知道怎么会出现上面那个。开始时间小于,结束大于,就包括了。select * from table where starttime<'2007-11-1' and endtime >'2007-12-1'
判断两个时间在已有的区间内 public DataTable CheckDate(string checkBeginTime,string checkEndTime,string fliter) ...{ System.Text.StringBuilder strSql = new System.Text.StringBuilder(); strSql.Append("select NoteID,NoteTitle,CreateDate,EndDate from tblNetSplitNoteData" + " where ((CreateDate>='"+checkBeginTime+"' and CreateDate<='"+checkEndTime+"')"+ " or (EndDate>='"+checkBeginTime+"' and EndDate<='"+checkEndTime+"')"+ " or '" + checkBeginTime + "' between CreateDate and EndDate) "); if (fliter != "") ...{ strSql.Append(fliter); } DataTable dt = this.DatabaseAccess.ExecuteDataset(strSql.ToString()).Tables[0]; return dt; }
select * from a where starttime<=2007-11-1 and endtime >=2007-12-1
没错,前半段我也是这样写的,再加上个or(checkEndTime + "' between CreateDate and EndDate) 似乎就完美了
select * from a where starttime<=2007-12-1 or endtime>=2007-11-1 --部分包含
and endtime<'2008-1-1'
select * from a where starttime<='2007-12-1' or endtime>='2007-11-1'
public DataTable CheckDate(string checkBeginTime,string checkEndTime,string fliter)
...{
System.Text.StringBuilder strSql = new System.Text.StringBuilder();
strSql.Append("select NoteID,NoteTitle,CreateDate,EndDate from tblNetSplitNoteData" +
" where ((CreateDate>='"+checkBeginTime+"' and CreateDate<='"+checkEndTime+"')"+
" or (EndDate>='"+checkBeginTime+"' and EndDate<='"+checkEndTime+"')"+
" or '" + checkBeginTime + "' between CreateDate and EndDate) ");
if (fliter != "")
...{
strSql.Append(fliter);
}
DataTable dt = this.DatabaseAccess.ExecuteDataset(strSql.ToString()).Tables[0];
return dt;
}
没错,前半段我也是这样写的,再加上个or(checkEndTime + "' between CreateDate and EndDate) 似乎就完美了