【发布时间】:2014-09-30 19:46:19
【问题描述】:
我已将我的日期和时间以下列格式和文本形式存储在数据库中。
MM/dd/yyyy HH:mm:ss
我正在尝试通过这样做仅从昨天选择 所有 记录:
SELECT * from source_tbl where date_time = (select max(date_time)
from source_tbl
WHERE date_time < DATE('now', '-1 day') )
我知道如果我只将 MM/dd/yyyy 存储在数据库中,那么我上面的查询就可以正常工作,但在我的情况下,我有 HH:mm:ss 所以它不会工作。
但是有什么方法可以只获取 MM/dd/yyyy 部分然后应用我上面的查询,或者有什么方法可以做到这一点?
【问题讨论】:
-
@CL。最后两个问题。 1. 如果我将格式更改为
yyyy-MM-dd HH:mm:ss,那么仍然没有机会选择昨天的所有记录? 2. 或者如果我将 date_time 列的数据类型更改为 Date,那么是否可以获取日期部分并应用我上面的查询? -
1.当然有。 2. SQLitehas no data types.
-
为了帮助其他人,我尝试了这个:
SELECT * FROM source_tbl WHERE strftime('%Y-%m-%d', date_time) = date('now','-1 day'),它对我有用。我也将格式更改为yyyy-MM-dd HH:mm:ss