在android中存储和检索sqlite数据的问题

时间:2012-04-07 12:10:03

标签: android sqlite datetime

我正在尝试使用以下查询从数据库中检索数据:

select * from Oil Where date(DDate)=date('2012-08-07');

其中DDate是Oil表中具有数据类型text的列之一。我得到 Arrayindexoutofboundsexception 。我发现它没有返回计数为0的任何值。 任何人都可以帮助我。我实际上要做的是在表中存储日期值。我找不到应该用于保存日期的数据类型,从sqlite网站是它没有特定的日期和时间的数据类型。

2 个答案:

答案 0 :(得分:2)

SQL Server附带以下数据类型,用于在数据库中存储日期或日期/时间值:

DATE - 格式YYYY-MM-DD

DATETIME - 格式:YYYY-MM-DD HH:MM:SS

SMALLDATETIME - 格式:YYYY-MM-DD HH:MM:SS

select * from Oil Where date(DDate)=date('2012-08-07');

可以

select * from Oil Where DDate='2012-08-07';

答案 1 :(得分:0)

如果你有日期格式'yyyy-MM-dd'的DDate,那么你可以直接用日期比较

select * from Oil Where DDate='2012-08-07';

否则,如果你的日期格式是'yyyy-MM-dd HH:mm:ss',那么查询就像这样

select * from Oil Where date(DDate)='2012-08-07';

如果要在sqlite数据库中保存日期,并且必须执行排序或使用date()和time()函数等日期操作,则必须使用'yyyy-MM-dd HH:mm:ss'日期格式

数据类型与sqlite无关。