SQL: 能否在SELECT中使用%CURDATE%。

问题描述 投票:0回答:1

我想使用SQL CURDATE(),格式为 "YYYY-MM-DD",选择昨天的项目,但时间列是 "YYYY-MM-DD HH-MM-SS "格式。

是否可以将CURDATE放在 "YYYY-MM-DD "和 "HH-MM-SS "之间。% %在这个例子中,有些东西(显然是行不通的)。SELECT * FROM table WHERE created_at LIKE % CURDATE() - INTERVAL 1 day %

或者,如果没有任何语法变化,利用curdate & 也可以,请推荐另一种方法,如果有任何在sql的技巧包。

mysql sql syntax
1个回答
1
投票

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

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

另外,这个可以用索引。

或者,你可以把这个简化为:。

where date(created_at) = current_date - interval 1 day 

而这个版本不使用索引 created_at.

© www.soinside.com 2019 - 2024. All rights reserved.