我有一个以MM/DD/YY格式存储日期的表(字段名为date)。我需要一个仅计算当月记录总数的计数。通过搜索,这是我目前所拥有的,但有些地方不太对劲。我需要做一个convertToDate吗?是我的字段叫做"date",还是我完全遗漏了什么?
$totalcount = mysql_query("select count(*) as 'total'
FROM state_to_state
WHERE status = 99 AND type = 1
AND MONTH(`date`) = MONTH(CURDATE())
AND YEAR(`date`) = YEAR(CURDATE())");
$totalnum = mysql_fetch_array($totalcount);
if($totalnum['total'] > 0) { $month_status = $totalnum['total']." this Month. "; }
发布于 2014-03-04 04:50:20
您的日期不是原生mysql日期(可能是varchar?),因此不能直接对它们使用mysql日期函数。date('MM/DD/YY')
将不能可靠地工作:
mysql> select month('03/03/14'), month('03/18/14');
+-------------------+-------------------+
| month('03/03/14') | month('03/18/14') |
+-------------------+-------------------+
| 3 | NULL |
+-------------------+-------------------+
将日期字段转换为原生mysql日期类型,或者通过str_to_date()将其转换为原生日期值onthefly。
https://stackoverflow.com/questions/22157046
复制相似问题