我想使用按日期过滤器从数据库表中选择一些数据(日期列为:[searchDate] DATETIME DEFAULT CURRENT_TIMESTAMP,)
在这张照片中,我使用SQLite Expert和按日期过滤:
此代码用于获取当前年份和月份:
root = tree.getroot()
print(root.find('name').text)
print(root.find('coord').attrib.get('lat','n/a'))
print(root.find('coord').attrib.get('lon','n/a'))
# Output
POI 2017-07-03 09:37:11nass
47.220430
8.951071
和我的应用程序中的游标查询,用于获取按日期(当前年份)过滤的列表:
DateFormat YEAR_FORMAT = new SimpleDateFormat("yyyy");
DateFormat MONTH_FORMAT = new SimpleDateFormat("MM");
YEAR_DATE = YEAR_FORMAT.format(new Date());
MONTH_DATE = MONTH_FORMAT.format(new Date());
Date date = new Date();
Log.d("Month", YEAR_FORMAT.format(date) + " " + MONTH_FORMAT.format(date));
我试过,但没有任何反应,列表为空(空) 我今年的约会时间很多。
答案 0 :(得分:1)
不清楚吗?在查询中使用SQL字符串分隔符(year
)包围'
变量。
Cursor MOMENT_CURSOR =
db.rawQuery("SELECT * FROM tblMoment WHERE strftime('%Y', searchDate) = '" + year + "'", null);
或者只是使用参数化查询(Android将为您处理字符串分隔符。)
Cursor MOMENT_CURSOR =
db.rawQuery("SELECT * FROM tblMoment WHERE strftime('%Y', searchDate) = ?", new String[]{year});
答案 1 :(得分:0)
SELECT * FROM transactionList WHERE transactionDate BETWEEN'2018-04-29'EN'2018-05-29'LIMIT 20;
尝试此查询,它将像wow:)
一样工作请检查问题