我一直試圖在MySQLite android中刪除7天以前的記錄,但沒有成功。我曾嘗試:刪除超過7天的記錄MySQLite android
database.execSQL("delete from " + MySQLite.WORKFLOW_TABLE_NAME + " where '" + MySQLite.WORKFLOW_COLUMN_DATECREATED +
"' < 'DATE_SUB(NOW(), INTERVAL 7 DAY)'");
和
database.delete(MySQLite.WORKFLOW_TABLE_NAME, "date('now') > date('" + MySQLite.WORKFLOW_COLUMN_DATECREATED + "', '+7 days')",
null);
和
database.delete(MySQLite.WORKFLOW_TABLE_NAME, MySQLite.WORKFLOW_COLUMN_DATECREATED + " < '"
+ dateFormat.format(range.getTime()) + "'", null);
和這些非正常工作。
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd");
ContentValues values = new ContentValues();
values.put(MySQLite.WORKFLOW_COLUMN_DATECREATED, dateFormat.format(convertStringToDate(Data.State.tripdate)));
表的日期列創建爲:我使用的保存日期到表 WORKFLOW_COLUMN_DATECREATED +「文本不爲空,」
和字符串轉換成日期與:
public Date convertStringToDate(String dateString)
{
SimpleDateFormat formatter = new SimpleDateFormat("yyyy/MM/dd");
Date date = null;
try {
date = formatter.parse(dateString);
System.out.println(date);
System.out.println(formatter.format(date));
} catch (ParseException e) {
e.printStackTrace();
}
return date;
}
有人helppp。
請閱讀文檔:1.有SQLite中沒有DateTime類型... 2.'SELECT date('now')'格式爲'yyyy-MM-dd'返回日期3.字符串比較''''''''''...顯然這個非常天真的解決方案是通過格式化「日期現在-7天「,並將它作爲字符串在sql中進行比較(因爲日期時間字符串的格式爲」yyyy/MM/dd「,與字符串相同) – Selvin