不太确定为什么这不起作用。我读了很多帖子,但仍然无法使其工作。
我可以在准备好的语句中使用“to_char”吗?
global $db;
$st = $db->prepare("SELECT *
FROM info
WHERE To_char(timestampColumn, 'YYYY-MM-DD') = '$NewDateToQuery'
ORDER BY timestampColumn DESC");
$st->execute();
这是非常简单的事情 - 根据日期从时间戳列中进行选择(我使用 jQuery UI 日期选择器来选择日期)。
非常感谢任何帮助。抱歉,这可能会显示为重复...我已阅读另一篇文章以及开始提问时建议的所有内容。然而,我无法得到答案。
最好,
更新
目前 $NewDateToQuery 看起来是 YYYY-MM-DD。如果我在表中添加已知记录的实际小时:分钟:秒,它确实会返回正确的信息。 我应该将时间戳列分成两列(一列表示日期,另一列表示时间)吗?我认为这不是最有效的方法。
再次感谢。
最佳答案
为什么在where中使用To_char
试试这个
$st = $db->prepare("SELECT date_format(`timestampColumn`, '%Y-%m-%d') as myDate
FROM info
WHERE timestampColumn= '$NewDateToQuery'
ORDER BY timestampColumn DESC");
关于mysql - PDO异常 : Data based on DATE from TIMESTAMP column,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27592151/