使用MySQL语法并使用一个包含如下行的表:
mydate DATETIME NULL,
有没有办法做这样的事情:
... WHERE mydate<='2008-11-25';
我正在努力,但并没有真正让它发挥作用.
呃,WHERE mydate<='2008-11-25'
是这样做的.这应该工作.
你收到错误信息吗?您使用的是古老版本的MySQL吗?
编辑:以下在MySQL 5.x上对我来说很好
create temporary table foo(d datetime); insert into foo(d) VALUES ('2000-01-01'); insert into foo(d) VALUES ('2001-01-01'); select * from foo where d <= '2000-06-01';
没关系找到答案.对于愿意回复的人来说也一样.
WHERE DATEDIFF(mydata,'2008-11-20') >=0;
在标准SQL语法中,您将使用:
WHERE mydate <= DATE '2008-11-20'
也就是说,关键字DATE应该在字符串之前.但是,在某些DBMS中,您不需要那么明确; 系统会自动将DATE列转换为字符串,或将字符串转换为DATE值.如果将DATE转换为字符串,则名义上会有一些有趣的含义 - 如果您碰巧在第一个千年(0001-01-01 .. 0999-12-31)中有日期,并且前导零(es)被省略格式化系统.