比较mysql中的时间字符串与当前时间

时间:2016-02-02 06:34:15

标签: php mysql datetime mysqli

我有一个字符串类型 Time_Start 列,可以节省数据库中的时间。

时间以 23:59 格式保存。

我需要将列中的值与当前时间进行比较!这是我的mysql查询:

$result =   mysqli_query(
  $conn, 
  "SELECT * FROM Adds WHERE STR_TO_DATE(Time_Start, '%h:%i') > CURTIME()" 
);
if(mysqli_num_rows($result)==0) 
{ 
  echo "NO RESULTS" ;
}
else
{
  while($row = mysqli_fetch_array($result) ) 
  {
    echo  $row['Time_Start'];
  }
}

由于某种原因,这不起作用。我做错了什么?

2 个答案:

答案 0 :(得分:1)

您应该使用指定的列类型TIME来存储您的时间数据。时间将以hours:minutes:seconds格式存储,与当前时间的比较非常简单:

SELECT * FROM Adds Time_Start > CURTIME()

答案 1 :(得分:0)

使用%H。您的输入是24小时格式。

select STR_TO_DATE(Time_Start, '%H:%i');