MySQL-选择日期 20100327 => 20100327 SELECT * FROM MyTable WHERE MyDateCol < NOW() SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;

MySQL-选择日期 20100327 => 20100327 SELECT * FROM MyTable WHERE MyDateCol < NOW() SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;,mysql,syntax,date,Mysql,Syntax,Date,如何在MySQL中实现这一点 SELECT * FROM MyTable WHERE MyDateCol < TODAY() 在MySQL中,您有一个函数,它将为您提供今天的日期 所以,像这样的事情应该可以: select * from your_table where your_date_column < curdate() 引用该功能的手册页面: 以中的值形式返回当前日期 “YYYY-MM-DD”或YYYYMMDD格式, 取决于功能是否正常 在字符串或数字上下文中使用

如何在MySQL中实现这一点

 SELECT * FROM MyTable WHERE MyDateCol < TODAY()
在MySQL中,您有一个函数,它将为您提供今天的日期

所以,像这样的事情应该可以:

select *
from your_table
where your_date_column < curdate()
引用该功能的手册页面:

以中的值形式返回当前日期 “YYYY-MM-DD”或YYYYMMDD格式, 取决于功能是否正常 在字符串或数字上下文中使用

如果您想与当前时间进行比较,而不仅仅是与当天进行比较,您可以使用以下功能:

将当前日期和时间返回为 “YYYY-MM-DD HH:MM:SS”中的值或 YYYYMMDDHHMMSS.uuu格式

使用功能:

SELECT * FROM MyTable WHERE MyDateCol < NOW()

如果MySQL支持SYSDATE,您应该使用它,而不是NOW或CURDATE,因为它更标准

SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;

关于YYYYMMDD数字格式,2010年3月27日是20100327还是2040的十进制增值我现在没有可以尝试的服务器,但是考虑到手册上说的YYYYMMDD,我想你会得到20100327,我已经用我的本地MySQL服务器验证了这一点,它使用类似20100327的数字,这使得比较非常容易。您还可以将字符串日期直接转换为数字,以用于数字比较。。2010-03-27 => 20100327 => 20100327
SELECT * FROM MyTable WHERE MyDateCol < NOW()
SELECT * FROM MyTable WHERE MyDateCol < SYSDATE;