如何在MySQL中执行此操作?MySQL - SELECT WHERE date <X
SELECT * FROM MyTable WHERE MyDateCol < TODAY()
我GOOGLE了关于这个问题有很多,并没有真正发现,除了“看在MySQL的日期裁判”,这不容易解释的不够高于一切。
我知道我能做到这有点间接如下:
SELECT * FROM MyTable WHERE MyDateCol BETWEEN (0000-00-00) AND TODAY()
如何在MySQL中执行此操作?MySQL - SELECT WHERE date <X
SELECT * FROM MyTable WHERE MyDateCol < TODAY()
我GOOGLE了关于这个问题有很多,并没有真正发现,除了“看在MySQL的日期裁判”,这不容易解释的不够高于一切。
我知道我能做到这有点间接如下:
SELECT * FROM MyTable WHERE MyDateCol BETWEEN (0000-00-00) AND TODAY()
SELECT * FROM MyTable WHERE MyDateCol < CURDATE()
使用NOW()
功能:
SELECT * FROM MyTable WHERE MyDateCol < NOW()
如果MySQL支持SYSDATE,你应该使用,而不是NOW()或CURDATE(),因为它是更标准。
SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;
关于年月日数字格式,将2010-MAR-27成为20100327或者这将是2040 – 2010-01-25 12:06:18
十进制业增加值我没有上,我可以尝试,现在一台服务器,但考虑到手动YYYYMMDD说,我想你会得到20100327,而且没有任何一种加法的结果 - 这将很难合作。 – 2010-01-25 12:16:47
我已经用我的本地MySQL服务器验证了这一点,它使用的数字如20100327,这使得比较非常容易。您也可以直接将字符串日期转换为数字以用于数字比较。'“2010-03-27”=>“20100327”=> 20100327' – 2010-01-25 12:45:36