Objective c 如何在sqlite数据库中检索两个日期之间的日期

Objective c 如何在sqlite数据库中检索两个日期之间的日期,objective-c,ios,sqlite,Objective C,Ios,Sqlite,OrderDate是我的表中的日期类型字段,格式为dd/MM/yy,该字段属于表中的所有记录 我只需要按两个日期筛选这些订单,例如'01/11/12'和'15/11/12'之间的O.Order\U日期。但它也会选择不属于11月和今年的记录 有谁能告诉我如何在两个日期之间获得正确的数据。您也应该尝试操作>和'01/11/12'以及O.Order_Date尝试另一种格式:YYYY-MM-DD 订单日期介于“2012-11-01”和“2012-11-15”之间 查询 insert into tes

OrderDate是我的表中的日期类型字段,格式为dd/MM/yy,该字段属于表中的所有记录

我只需要按两个日期筛选这些订单,例如'01/11/12'和'15/11/12'之间的O.Order\U日期。但它也会选择不属于11月和今年的记录


有谁能告诉我如何在两个日期之间获得正确的数据。

您也应该尝试操作>和'01/11/12'以及O.Order_Date

尝试另一种格式:YYYY-MM-DD

订单日期介于“2012-11-01”和“2012-11-15”之间

查询

insert into test (t) select '2012-01-15';

insert into test (t) select '2012-11-16';

select * from test where t between '2012-01-01' and '2012-02-01';

如何从年月日开始在年月日制作((评论2,回答2))


否则请看最后两个答案

我认为问题在于日期格式,请尝试使用此
YYYY-MM-DD
。看看这个,你能试试这个简单的查询吗:从T_Ohead中选择Order_Date,其中Order_Date在'2012-11-01'和'2012-11-15'之间,Order BY Order_Date在sqlite中,还有一个函数可以获取日期的年份、日期和月份。月(订单日期),年(订单日期)如图所示,您可能需要对旧数据进行处理谢谢,但我的表中有日期字段,该字段的填充方式类似于dd/MM/yy。如何使用YYYY/MM/dd格式仅在查询中进行比较bcoz我无法将字段设置为特定格式,因为它已遍布整个项目。请将该表复制到另一个表,我们称之为B。现在在B中执行吗更新stmt,以更改每行的日期,使其采用YYYY-MM-DD格式,并记住1将是01。然后运行一个测试您需要首先更改数据您需要帮助吗?我说的是,另一个链接建议,如果您不将其完全保存为YYYY-MM-DD,则sqlite将其保存为字符串而不是日期。因此,在这种情况下,尝试检索日期范围将失败
insert into test (t) select '2012-01-15';

insert into test (t) select '2012-11-16';

select * from test where t between '2012-01-01' and '2012-02-01';
update tableName
set date =
'20' || substr(substr(date, instr(date, '/')+1), instr(substr(date, instr(date, '/')+1), '/')+1)
|| '/' ||
case when length(substr(date, instr(date, '/')+1, instr(substr(date, instr(date, '/')+1),'/')-1))=2
then substr(date, instr(date, '/')+1, instr(substr(date, instr(date, '/')+1), '/')-1)
else '0'||substr(date, instr(date, '/')+1, instr(substr(date, instr(date, '/')+1), '/')-1)
end
|| '/' ||
case when length(substr(date,1, instr(date, '/')-1 )) =2
then substr(date,1, instr(date, '/')-1 )
else '0'||substr(date,1, instr(date, '/')-1 )
end