mysql 数据库中时间查询比较问题
想用sql语言直接查询在某一时间段内记录的数据(已记录数据更新时间),
但在与DateTimePicker做时间比较的时候,结果明显不对。
如两个DateTimePicker 中的date 值分别为2011/ 8/11,2011/12/11,数据库中对应时间字段(datetime)内也有数据,但就是查找不出来。
代码如下:
ADOQout2.SQL.Add('AND 报废或领用时间 >= '+datetostr(datetimepicker1.Datetime)+' and 报废或领用时间 <= '+datetostr(datetimepicker2.Datetime)+'');
如果把datetostr改成datetimetostr执行时又会报错!
小弟菜鸟一个,求大家帮忙!
[解决办法]
你sql中的date数据要加引号的
ADOQout2.SQL.Add('AND 报废或领用时间 >= '''+formatdatetime('yyyy-mm-dd hh:mm:ss',datetimepicker1.Datetime)+''' and 报废或领用时间 <= '''+formatdatetime('yyyy-mm-dd hh:mm:ss',datetimepicker2.Datetime)+'''');
或用
ADOQout2.SQL.Add('AND 报废或领用时间 >= '+QuotedStr(formatdatetime('yyyy-mm-dd hh:mm:ss',datetimepicker1.Datetime))+' and 报废或领用时间 <= '+QuotedStr(formatdatetime('yyyy-mm-dd hh:mm:ss',datetimepicker2.Datetime))+'');