当月开始
<?php echo date("Y-m-1");?>当月末
<?php echo date("Y-m-31");?>
and this is mysql query
$result = mysql_query("SELECT * FROM fuel where monthdate BETWEEN 'current month start' AND 'current month end' ORDER BY CAST(amount as SIGNED INTEGER) DESC LIMIT 4");如何将这个回音到
<?php echo date("Y-m-1");?>
<?php echo date("Y-m-31");?>在“{Ym-1}”和“{Ym-31}”之间
请帮我解决这个问题谢谢
发布于 2013-10-02 06:41:46
如果需要查找当前年份和月份的记录,可以使用mysql的EXTRACT函数,该函数为您提供当前月份并执行=比较。
SELECT * FROM fuel where
EXTRACT(YEAR_MONTH FROM `monthdate`) =
EXTRACT(YEAR_MONTH FROM CURRENT_DATE)
ORDER BY CAST(amount as SIGNED INTEGER)
DESC LIMIT 4注意:确保列monthdate数据类型与date,datetime相似
发布于 2013-10-02 06:39:17
您可以在纯SQL中轻松地做到这一点,而无需费时地使用PHP:
"SELECT * FROM fuel WHERE YEAR(monthdate) = YEAR(CURDATE()) AND MONTH(monthdate) = MONTH(CURDATE()) ORDER BY CAST(amount as SIGNED INTEGER) DESC LIMIT 4"此外,您也不能期望无效的日期会像这样工作。
在SQL查询中尝试这样做:
`SELECT DATE('2013-02-28'), DATE('2013-02-31')`它将返回2013-02-28和NULL。MySQL需要一个有效的日期,否则它将无法工作。
发布于 2013-10-02 06:38:18
如果需要选择给定月份的所有内容,请使用date_format:
$myDate = date('Y-m');
$sql = "SELECT * FROM `fuel` WHERE DATE_FORMAT('%Y-%m', `monthdate`) = '$myDate'";https://stackoverflow.com/questions/19131175
复制相似问题