这里我有yyyy-mm-dd格式的日期时间字符串,如
我需要的是如果通过2016-08参数我需要获得2016-08-26的记录,就像我需要了解到目前为止我如何实现这一点我所尝试的是
public List<CustomerModel>date(String year){
String countQuery ="SELECT * FROM "+CustomerModel.CustomerTable + " where " +CustomerModel.Customer_CreatedAt + " strftime('%Y-%m',"+CustomerModel.Customer_CreatedAt+") = "+year +"";
Cursor cursor = db.rawQuery(countQuery, null);
List<CustomerModel>list=new ArrayList<>();
if(cursor!=null && cursor.getCount()>0){
if(cursor.moveToFirst()){
do{
CustomerModel accountModel=new CustomerModel();
accountModel.setCreatedByName(cursor.getString(cursor.getColumnIndex(CustomerModel.Customer_CreatedBy)));
// accountModel.setCreatedat(cursor.getString(1));
list.add(accountModel);
}while (cursor.moveToNext());
}
}
if(cursor!=null){
cursor.setNotificationUri(mcontext.getContentResolver(),DB_Timetracker );
}
return list;
}
得到sqlite异常如何实现这是可以做到这一点,提前谢谢。
答案 0 :(得分:1)
尝试此查询
select * from table_name WHERE created_date LIKE '2016-08%'
如果您有特定年份和月份的多个日期,则会为您提供多条记录。使用日期字段中的字符串函数将日期替换为sting。