日期:2014-05-18  浏览次数:20461 次

如何查询在两个日期之间的记录
sDate1,sDate2为CSTring;
m_Date1.GetWindowText(sDate1);
m_Date2.GetWindowText(sDate2);
m_Date1,m_Date2为CDateTimeCtrl型。请问在SQLSERVER中查询日期在m_Date1,m_Date2之间的语句该怎么   写?
sSQL.Format( "SELECT*   FROM   遥测数据表   WHERE   采集日期时间   BETWEEN   %S   AND   %S ",sDate1,sDate2);
像我这样写又不对的。

------解决方案--------------------
--try


sSQL.Format( "SELECT * FROM 遥测数据表 WHERE 采集日期时间 BETWEEN '%S ' AND '%S ' ",sDate1,sDate2);
------解决方案--------------------
SELECT * FROM 遥测数据表 WHERE 采集日期时间 BETWEEN sDate1 AND sDate2

SELECT * FROM 遥测数据表 WHERE 采集日期时间 > = sDate1 AND 采集日期时间 <= sDate2

SELECT * FROM 遥测数据表 WHERE convert(varchar(10),采集日期时间,120) > = sDate1 AND convert(varchar(10),采集日期时间,120) <= sDate2

SELECT * FROM 遥测数据表 WHERE convert(varchar(10),采集日期时间,120) > = convert(varchar(10),sDate1,120) AND convert(varchar(10),采集日期时间,120) <= convert(varchar(10),sDate2,120)

------解决方案--------------------
select * from 遥测数据表 between convert(char(10),m_Date1,120) and convert(char(10),m_Date2,120)
------解决方案--------------------
SELECT * FROM 遥测数据表 WHERE 采集日期时间> 's1 ' and 采集日期时间 < 's2 '