我有一张table。其中,列名为tb\u date,为varchar格式。在该列中,日期是保存的,但格式不同(如:01/07/201或01-08-2018或2017/03/12等)。现在我要在给定日期之间搜索。但它不起作用。我试过了-
$result=mysql_query("select * from user_History") or die(mysql_error());
while($row=mysql_fetch_array($result))
{
extract($row);
$time = strtotime( $tb_date );
$myDate = date( 'd/m/y', $time );
$result1=mysql_query("select * from user_History where '$myDate' BETWEEN '01/06/2018' AND '31/06/2018'") or die(mysql_error());
while($row1=mysql_fetch_array($result1))
{
extract($row1);
echo $tb_date;
}
}
但它提供了所有的记录。
2条答案
按热度按时间jvlzgdj91#
您可以使用这个if语句来转换这个日期格式,但这不是最好的主意。更好的方法是规范化此字段:
样品
svdrlsy42#
假设您在mysql中的日期值类型为date,那么您应该在sql语句中以yyyy-mm-dd的格式给出它。
改变
到
希望这有帮助。