Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android中从sqlite存储和检索数据的问题_Android_Sqlite_Datetime - Fatal编程技术网

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

android中从sqlite存储和检索数据的问题,android,sqlite,datetime,Android,Sqlite,Datetime,我正在尝试使用以下查询从数据库检索数据: select * from Oil Where date(DDate)=date('2012-08-07'); 其中,DDate是Oil表中数据类型为text的列之一。我获得了Arrayindexoutofboundsexception。我发现它没有返回任何值,计数为0。 有人能帮我吗?我实际上想做的是在表中存储日期值。我找不到应该使用哪种数据类型来保存日期,从sqlite站点可以看出,它没有日期和时间的特定数据类型。SQL Server提供了以下数据

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

select * from Oil Where date(DDate)=date('2012-08-07');
其中,DDate是Oil表中数据类型为text的列之一。我获得了Arrayindexoutofboundsexception。我发现它没有返回任何值,计数为0。
有人能帮我吗?我实际上想做的是在表中存储日期值。我找不到应该使用哪种数据类型来保存日期,从sqlite站点可以看出,它没有日期和时间的特定数据类型。

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

日期-格式YYYY-MM-DD

日期时间-格式:YYYY-MM-DD HH:MM:SS

select * from Oil Where date(DDate)=date('2012-08-07');
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';

如果日期格式为“yyyy-MM-dd”,则可以使用直接比较日期

select * from Oil Where DDate='2012-08-07';
否则,如果DDate的日期格式为“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不重要。

我认为保存日期最简单的格式是它的长值,即GetTimeinMillicles。它很容易比较,不同的区域格式也没有混淆。哦,但是如果我必须找到范围内的记录呢。你能给我举个例子吗?@kuffsi尝试了你建议的方法,但得到了同样的异常。我想这与我想的数据类型有关