根据时间戳过滤sql结果

Sco*_*Boy 5 sql

我有以下代码

$thedate = "2018-06-04"; // YYYY-MM-DD

SELECT * 
FROM (`leadactivity`) 
WHERE statusdate = $thedate 
ORDER BY id DESC 
LIMIT 25
Run Code Online (Sandbox Code Playgroud)

我试图仅显示 statusdate = 到提供的日期的结果。然而,因为在 sql 中,列会使用时间戳自动更新,所以它包括时间,并且由于某种原因没有给出任何结果。

关于我做错了什么有什么想法吗?

Gor*_*off 5

你的代码看起来像MySQL。一种简单的方法是:

SELECT la.*
FROM leadactivity la
WHERE DATE(la.statusdate) = $thedate 
ORDER BY id DESC
LIMIT 25;
Run Code Online (Sandbox Code Playgroud)

然而,该DATE()函数的使用阻止了索引的使用。所以,更好的方法是:

SELECT la.*
FROM leadactivity la
WHERE la.statusdate >= $thedate AND la.statusdate < $thedate + interval 1 day
ORDER BY la.id DESC
LIMIT 25;
Run Code Online (Sandbox Code Playgroud)