选择小于或等于当前日期的日期


select date that is less or equal to current date

我正在尝试在字段end_date中选择小于或等于当前日期但不起作用的日期,并且我的字段end_dame为与当前日期相同的日期格式(2014年9月8日)。下面的数据是我的代码,感谢

$currentdate = date("d-m-Y");
$query1 = "SELECT * FROM location WHERE end_date <= '$currentdate'";            
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){   
echo $line1['end_date'];
}

尝试这个

    SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%Y-%m-%d')

尝试使用-

SELECT * FROM location WHERE end_date <= DATE_FORMAT(CURDATE(), '%d-%m-%Y')
$currentdate = date("Y-m-d");
$query1 = "SELECT * FROM location WHERE `end_date` <= '$currentdate'";            
$result1 = mysql_query ($query1) or die('query error');
while( $line1 = mysql_fetch_assoc($result1)){   
echo $line1['end_date'];
}

试试这个。。。必须具有数据库中的日期格式;;

如果您的当前日期与系统日期无关(例如,如果您在不同的时区操作),并且由于某种原因,您的end_date不是日期类型,那么请尝试以下操作:

SELECT * FROM location 
WHERE str_to_date(end_date, '%d-%m-%Y') <= str_to_date('$currentdate', '%d-%m-%Y')

其中可以更改格式以匹配您的输入。

如果要比较日期,请确保比较的是日期,而不是字符串。