Mysql 如何使用带日期的大于运算符?

Mysql 如何使用带日期的大于运算符?,mysql,date,operators,Mysql,Date,Operators,不知道这里发生了什么。以下是来自phpMyAdmin的查询: SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18'; 但我始终会返回表中的所有记录,包括开始日期为2012-11-01的记录。给出了什么?您已经用单引号将开始日期打开,使其成为字符串,请使用反勾选 SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18'; 在您的语句中,您将名为开

不知道这里发生了什么。以下是来自phpMyAdmin的查询:

SELECT * FROM `la_schedule` WHERE 'start_date' >'2012-11-18';

但我始终会返回表中的所有记录,包括开始日期为2012-11-01的记录。给出了什么?

您已经用单引号将开始日期打开,使其成为字符串,请使用
反勾选

SELECT * FROM `la_schedule` WHERE `start_date` > '2012-11-18';

在您的语句中,您将名为开始日期的字符串与时间进行比较
如果start\u date是一列,则应为


  SELECT * FROM `la_schedule` WHERE start_date >'2012-11-18';
 
(无撇号) 或

(带背景标记)

希望这有帮助。

试试这个

SELECT * FROM la_schedule WHERE `start_date` > '2012-11-18';

在我的情况下,我的专栏是一个日期时间,它一直给我所有的记录。我所做的是包括时间,见下面的例子

SELECT * FROM my_table where start_date > '2011-01-01 01:01:01';

我已经试过了,但上面没有工作,研究发现下面的解决方案

SELECT * FROM my_table where DATE(start_date) > '2011-01-01';

由于未提及此项,因此添加此项

从'lau schedule'中选择*其中日期(开始日期)>日期('2012-11-18')


因为这才是真正对我有用的。在两个比较值上添加date()函数。

如果要比较时间戳,可以尝试以下操作

select * from table where columnInTimestamp > ((UNIX_TIMESTAMP() * 1000) - (1*24*60*60*1000))

这里,UNIX_TIMESTAMP()给出当前时间戳,其中“12460601000”是1天的时间戳——通过它,您可以找到在1天或2天内创建的数据等。

是日期或时间戳类型的开始日期列吗?如果是时间戳会发生什么情况?值得注意的是,MySQL似乎对日期格式有点挑剔;2019/02/08 21:04:07或2019-02-08 21:04:07产生预期结果,而02-08-2019 21:04:07使用美国日期格式,则产生了更广泛的结果。
select * from table where columnInTimestamp > ((UNIX_TIMESTAMP() * 1000) - (1*24*60*60*1000))