Mysql 在选择PDO中筛选datetime以显示当前结果
当我在PDO中过滤datetime以只显示今天的日期而不显示昨天和明天的日期时,如何显示结果? 我已经在db中将日期更改为DATETIME,因为fullcalendar。。。。所以现在在桌子上不要告诉我日期。。。如何更改此代码以恢复当天的日期:Mysql 在选择PDO中筛选datetime以显示当前结果,mysql,datetime,pdo,datetime-format,Mysql,Datetime,Pdo,Datetime Format,当我在PDO中过滤datetime以只显示今天的日期而不显示昨天和明天的日期时,如何显示结果? 我已经在db中将日期更改为DATETIME,因为fullcalendar。。。。所以现在在桌子上不要告诉我日期。。。如何更改此代码以恢复当天的日期: <? $sql = $conn->prepare("SELECT * FROM CITAS WHERE start = CURDATE() ORDER BY start ASC"); $sql->execute();
<?
$sql = $conn->prepare("SELECT * FROM CITAS WHERE start = CURDATE() ORDER BY start ASC");
$sql->execute(); while($row = $sql->fetch(PDO::FETCH_ASSOC)) {
?>
此代码在start为DATE格式时工作,但当我将其更改为DATETIME时,不会显示任何内容您需要考虑日期范围:
start>=CURDATE()和start
。。。未经测试,但您得到了想法您需要考虑日期范围:
start>=CURDATE()和start
。。。未经测试,但您得到的想法是:
WHERE DATE(start) = CURDATE()
或:
其中start>=CURDATE()和start
如果在start
列上有索引,则第二个索引的性能应该更好。或者:
WHERE DATE(start) = CURDATE()
或:
其中start>=CURDATE()和start
如果start
列上有一个索引,那么第二个索引的性能应该更好
WHERE start >= CURDATE() AND start < CURDATE() + INTERVAL 1 DAY