Mysql SQL:可以在选择中%CURDATE%吗

Mysql SQL:可以在选择中%CURDATE%吗,mysql,sql,syntax,Mysql,Sql,Syntax,我正在尝试使用sql CURDATE(),格式为“YYYY-MM-DD”,以选择昨天的项目,但时间列的格式为“yyy-MM-DD HH-MM-SS” 是否可以将CURDATE设置在%%之间,如本例所示(显然不起作用); 从创建位置的表格中选择*。\u如%CURDATE()-间隔1天% 或者,如果没有使用curdate的语法变体&这也行得通,请推荐另一种方法,如果sql中有任何技巧。不要将字符串函数用作字符串!如果你想要昨天,你可以使用: where created_at >= curren

我正在尝试使用sql CURDATE(),格式为“YYYY-MM-DD”,以选择昨天的项目,但时间列的格式为“yyy-MM-DD HH-MM-SS”

是否可以将CURDATE设置在%%之间,如本例所示(显然不起作用);
从创建位置的表格中选择*。\u如%CURDATE()-间隔1天%


或者,如果没有使用curdate的语法变体&这也行得通,请推荐另一种方法,如果sql中有任何技巧。

不要将字符串函数用作字符串!如果你想要昨天,你可以使用:

where created_at >= current_date - interval 1 day and
      created_at < current_date

这个版本没有在
上使用索引,创建于

你是否将日期存储为文本(例如
VARCHAR
)?@lvaroGonzález否。它们存储为datetime。请注意,第二个选项不能使用索引。第二,更简单的选项可以工作,并且最适合!索引现在并不重要。谢谢看来MySQL终于支持了。
where date(created_at) = current_date - interval 1 day