我有以下代码
$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 中,列会使用时间戳自动更新,所以它包括时间,并且由于某种原因没有给出任何结果。
关于我做错了什么有什么想法吗?
你的代码看起来像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)