我无法在使用SQLite3的查询中使日期范围正常工作 创建并填充表格:
create table dates(myDate DATE);
insert into dates values('2012-10-1');
insert into dates values('2012-10-2');
insert into dates values('2012-10-3');
insert into dates values('2012-10-4');
insert into dates values('2012-10-5');
insert into dates values('2012-10-6');
insert into dates values('2012-10-7');
insert into dates values('2012-10-8');
insert into dates values('2012-10-9');
insert into dates values('2012-10-10');
查询:
select * from dates where myDate >= '2012-10-1' and myDate < '2012-10-31';
结果:
2012-10-1
2012-10-2
2012-10-3
2012-10-10
10-4 - 10-9在哪里?
如果我在:
之间使用,我会得到相同的结果select * from dates where myDate BETWEEN '2012-10-1' AND '2012-10-30';
如果我更改其中一个查询以使用“2012-11-1”作为结束日期,则它们可以正常运行。
非常感谢任何帮助!
答案 0 :(得分:1)
日期值必须采用带有固定宽度字段的yyyy-mm-dd
格式。
这是必需的,因为SQLite没有本机日期格式;要正确比较日期字符串,具有相同含义的字段必须始终位于字符串中的相同位置。