当我想要返回某个字段中包含特定单词且在某个日期范围内的结果时,我在执行查询时遇到了问题。我现在使用的查询是:
$month_no = date('m');
$month_day = date('d');
$query="SELECT * FROM `table` WHERE ((user_purchased LIKE '%john%') AND (request_date BETWEEN '2011-$month_no-$month_day' AND '2011-$month_no-$month_day')) ";
$result = mysql_query($query);
$num_rows = mysql_num_rows($result); echo $num_rows;我在'request_date字段中的日期格式如下: 2011-10-03 12:30:34
你知道我做错了什么吗?
谢谢!
发布于 2011-10-04 23:20:45
如果您尝试执行以下操作会发生什么:
BETWEEN '2011-$month_no-$month_day 00:00:00' AND
'2011-$month_no-$month_day 23:59:59')) ";发布于 2011-10-04 23:23:10
如果您的日期范围是相同的,为什么不尝试
... WHERE (DATE(requested_date) = "2011-$month_no-$month_day")发布于 2011-10-04 23:27:03
胡乱猜测,因为我只知道如何在Oracle DB中执行此操作-在那里,您将使用*to_date*函数,如
... WHERE date = TO_DATE('20110820','YYYYMMDD') ... 或
... WHERE (date => TO_DATE('20110801','YYYYMMDD')) AND (date <= TO_DATE('20110831','YYYYMMDD')) 也许检查一下mysql是否也需要这样的函数调用是值得的。
https://stackoverflow.com/questions/7650165
复制相似问题