【发布时间】:2012-11-03 22:00:15
【问题描述】:
OrderDate 是我的表中的日期类型字段,格式为 dd/MM/yy,该字段属于表中的所有记录。
我只需要按两个日期过滤那些订单不属于 11 月和今年。
谁能指导我如何在两个日期之间获取正确的数据。
【问题讨论】:
-
我认为问题出在日期格式上,试试这个
YYYY-MM-DD。看看这个page
标签: objective-c ios sqlite
OrderDate 是我的表中的日期类型字段,格式为 dd/MM/yy,该字段属于表中的所有记录。
我只需要按两个日期过滤那些订单不属于 11 月和今年。
谁能指导我如何在两个日期之间获取正确的数据。
【问题讨论】:
YYYY-MM-DD。看看这个page
标签: objective-c ios 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';
【讨论】:
您也应该尝试操作 > 和
例如: 其中 O.Order_Date > '01/11/12' 和 O.Order_Date
【讨论】:
尝试其他格式:YYYY-MM-DD
O.Order_Date 介于 '2012-11-01' 和 '2012-11-15' 之间
http://www.sqlite.org/lang_datefunc.html
Time Strings
A time string can be in any of the following formats:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
YYYY-MM-DDTHH:MM
YYYY-MM-DDTHH:MM:SS
YYYY-MM-DDTHH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
DDDDDDDDDD
【讨论】:
如何从 dd/MM/yy ((comment 2, answer 2)) 到 YYYY/MM/DD?
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
另外看最后两个答案here
【讨论】: