PHP/MySQL日期搜索
我的脚本对所有销售都很好,但在15日跳过了所有销售 该期间的MySQL行如下所示: ID:10开始时间:2010-12-01结束时间:2010-12-15 销售的MySQL行如下所示: 日期:2010-12-15 20:40:26PHP/MySQL日期搜索,php,mysql,datetime,Php,Mysql,Datetime,我的脚本对所有销售都很好,但在15日跳过了所有销售 该期间的MySQL行如下所示: ID:10开始时间:2010-12-01结束时间:2010-12-15 销售的MySQL行如下所示: 日期:2010-12-15 20:40:26 $period_info=mysql_fetch_array(mysql_query("SELECT start,end FROM period WHERE id='$period' LIMIT 1")); $start=$period_info["start"];
$period_info=mysql_fetch_array(mysql_query("SELECT start,end FROM period WHERE id='$period' LIMIT 1"));
$start=$period_info["start"];
$end=$period_info["end"];
$total_sales=mysql_num_rows(mysql_query("SELECT * FROM sales WHERE seller='$seller' AND date BETWEEN '$start' AND '$end'"));
和想法?只比较日期时间的日期部分,忽略时间部分:
WHERE DATE(`date`) BETWEEN '$start' AND '$end'
仅比较日期时间的日期部分,忽略时间部分:
WHERE DATE(`date`) BETWEEN '$start' AND '$end'
为了在与日期或时间值一起使用时获得最佳结果,请使用CAST()将值显式转换为所需的数据类型。示例:如果将一个日期时间与两个日期值进行比较,请将日期值转换为日期时间值。如果在与日期的比较中使用字符串常量(如“2001-1-1”),请将字符串强制转换为日期。若要在与日期或时间值一起使用时获得最佳结果,请使用cast()将值显式转换为所需的数据类型。示例:如果将一个日期时间与两个日期值进行比较,请将日期值转换为日期时间值。如果在比较日期时使用字符串常量,如“2001-1-1”,请将字符串转换为日期。这是因为MySQL使用00:00:00作为日期类型的时间。我认为你可以使用:
“选择*FROM sales,其中seller='$seller'和(将日期转换为日期)介于'$start'和'$end'”
这是因为MySQL使用00:00:00作为日期类型的时间。我认为你可以使用:
“从销售中选择*,其中卖家=“$seller”和(将日期转换为日期)介于“$start”和“$end”之间
太棒了!我现在可以停止拔头发了。:)谢谢令人惊叹的我现在可以停止拔头发了。:)谢谢