如何从SQLite数据库中选择两个日期之间的数据,日期格式为dd-mm-yyyy?

9

我的数据库中有一个日期列,格式为dd-mm-yyyy

我想要在两个日期之间搜索数据。

我尝试了

SELECT * FROM t_data where orderdate between '01-05-2012 00:00:00' and '31-05-2012 23:59:59'

并且

SELECT * FROM t_data where orderdate >= '05-05-2012' and  orderdate <='31-05-2012'

如何解决这个问题?

1
可能是Sqlite将字符串转换为日期的重复问题。 - mvp
问题 MVP 链接的答案可以满足您的需求。不过最好使用标准的日期格式,如 ISO-8601。这样 SQLite 查询将按照您的期望方式工作:http://www.sqlite.org/lang_datefunc.html - bsa
2个回答

13

使用:

select * from tbl_name where Attribute_name between 'yyyy-mm-dd' and 'yyyy-mm-dd';

这里的 Attribute_name 是 date_time 列的名称。

示例:

select * from tbl_node where mydate between '2014-02-02' and '2014-02-06';

1|1|123|456|12eb-ab|1|1|254|123|19|2014-02-03 16:00:44
2|1|123|456|12eb-ab|1|1|254|123|19|2014-02-03 16:01:03
3|1|123|456|12eb-ab|1|1|254|123|19|2014-02-03 16:00:57

2
日期格式必须在SQLite中为YYYY-MM-DD。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接