我有一个数据库,其中有两列开始和结束。开始和结束是 DD.MM.YYYY 格式。
我有一个日期也是 DD.MM.YYYY 格式。如何检查我的日期是否在开始和结束之间。
请提出一些查询来检查这些条件并从其他列中获取数据。
正如 Jon Skeet 所写,您应该以yyyy-mm-dd
格式存储日期。
但是,可以通过重新排序字段(如果字符串中的字段具有固定长度)将您的日期值即时转换为正确的日期值:
SELECT *
FROM MyTable
WHERE '2013-03-11' BETWEEN substr(StartDate, 7, 4) || '-' ||
substr(StartDate, 4, 2) || '-' ||
substr(StartDate, 1, 2)
AND substr(EndDate, 7, 4) || '-' ||
substr(EndDate, 4, 2) || '-' ||
substr(EndDate, 1, 2)
使用下面的代码。它将返回两个日期之间的天数。日期格式为 YYYY-MM-DD
YourDatabse database=new YourDatabse (getApplicationContext(), 1);
SQLiteDatabase sqlite=database.getReadableDatabase();
Cursor fetch=sqlite.rawQuery("SELECT julianday('"+date2+"') - julianday('"+date1+"')", null);
fetch.moveToFirst();
sqlite.close();
int noOfDays=fetch.getInt(0);