在sqlite中替代STR_TO_DATE()

use*_*158 5 sqlite

在SQLite中STR_TO_DATE(),MySQL 的替代功能是什么?

cki*_*343 4

我知道这篇文章有点过时了,但无论如何我还是要为那些可能和我有类似问题的人发帖。我从开放 api 获取一个日期为“2013-01-01T01:00:00+0000”,并将其作为字符串存储在 sqlite 中。当我需要某种方式根据日期范围查询记录时,问题就出现了。由于我无法使用 STR_TO_DATE(),我发现我可以使用 sqlite 函数 strftime()。下面是我为此实例使用的工作查询的示例,希望它能够帮助其他人:

 select strftime(date_created) as dateCreated from tblFeeds 
 where strftime(date_created) between strftime('2013-01-01') and strftime('2013-01-08')
 order by dateCreated;
Run Code Online (Sandbox Code Playgroud)

这为我提供了 2013 年 1 月 1 日至 2013 年 8 月 1 日(7 个日期范围)之间创建的记录。

如果您不知道要使用的日期,这里还为您提供了一些日期范围:

(最近 24 小时):

select strftime(date_created) as dateCreated from tblFeeds 
where strftime(date_created) between  strftime(date('now','-24hours')) and  strftime(date('now'))
order by dateCreated
Run Code Online (Sandbox Code Playgroud)

(上星期):

select strftime(date_created) as dateCreated from tblFeeds 
where strftime(date_created) between  strftime(date('now','-7days')) and  strftime(date('now'))
order by dateCreated
Run Code Online (Sandbox Code Playgroud)

(上个月):

select strftime(date_created) as dateCreated from tblFeeds 
where strftime(date_created) between  strftime(date('now','-1months')) and  strftime(date('now'))
order by dateCreated
Run Code Online (Sandbox Code Playgroud)