Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.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通过SQL查询中的条件查找上一条记录_Android_Sqlite_Date - Fatal编程技术网

Android SQLite通过SQL查询中的条件查找上一条记录

Android SQLite通过SQL查询中的条件查找上一条记录,android,sqlite,date,Android,Sqlite,Date,我必须找到上一个最近的记录,它的BMI列不是0。。。 例如,我正在打开一个应用程序屏幕,其中输入了一些数据。但是如果BMI字段为0,我必须从数据库中提取该字段不是0的前一个最新记录 我尝试了这个查询,但它只适用于当前月份。如果我给出一个日期字符串,它在下个月,它不会提取任何内容 "SELECT * FROM " + TABLE_DIARY + " WHERE strftime('%d.%m.%Y', `" + DATE_TIME + "`) < '" + date

我必须找到上一个最近的记录,它的BMI列不是0。。。 例如,我正在打开一个应用程序屏幕,其中输入了一些数据。但是如果BMI字段为0,我必须从数据库中提取该字段不是0的前一个最新记录

我尝试了这个查询,但它只适用于当前月份。如果我给出一个日期字符串,它在下个月,它不会提取任何内容

"SELECT * FROM " + TABLE_DIARY + " WHERE strftime('%d.%m.%Y', `" + DATE_TIME + "`) < '"
            + date + "' AND " + BMI + " > 0";
“从“+TABLE\u DIARY+”中选择*,其中strftime(“%d.%m.%Y”,“+DATE\u TIME+”)
+日期+“”和“+BMI+”>0”;

谢谢

我通过比较修正了它,没有strftime。我使用了以下查询字符串:

"SELECT * FROM " + TABLE_DIARY + " WHERE (" + DATE_TIME + " < '"
            + formatter.format(dateCal.getTime()) + "') AND (" + BMI + " > 0)";
“从“+表格\日志+”中选择*,其中(“+日期\时间+”<”
+formatter.format(dateCal.getTime())+“')和(“+BMI+”>0)”;
并使用SimpleDataFormatter格式化日期