我对MySQL日期和查询有疑问。
首先:
SELECT * FROM post WHERE DATE(Post_Date)="2009-03-25"
返回0结果
SELECT * FROM post WHERE Post_Date="2009-03-25"
返回71结果
SELECT * FROM post WHERE Post_Date>="2009-03-25"
返回379结果
我了解返回71结果的第二个查询仅匹配2009-03-25 00:00:00
作为Post_Date
的帖子,第三个查询显示所有内容。但为什么第一个查询显示0结果?请帮忙!我检查了MySQL cnf,date_format
设置为%Y-%m-%d
第二次:
SELECT * FROM post WHERE DATE(Post_Date)="2009-03-25"
WINDOWS上的RETURNS结果!
SELECT * FROM post WHERE DATE(Post_Date)="2009-03-25"
Linux中没有结果!
任何指针都会有所帮助! 是否需要更改配置文件以使其在Linux中运行?
答案 0 :(得分:1)
诊断步骤:在每个系统上运行查询SELECT DATE('2009-03-25 08:30:00')。结果可能会告诉你发生了什么。 (可能是版本问题。)
答案 1 :(得分:1)
不确定第一部分的内容,但第二部分:您是否检查确保Windows和Linux上的服务器在各自的数据库中具有相同的数据?如果您确定它们是,那么您可能想要检查Linux数据库是否给出该年或年 - 月的任何结果,而不仅仅是特定的年 - 月 - 日。