如何将yyyy-mm字符串传递给yyyy-mm-dd datetime字符串以从sqlite中过滤记录?

时间:2016-09-13 05:20:50

标签: android sqlite datetime

这里我有yyyy-mm-dd格式的日期时间字符串,如

  1. 2016年8月26日
  2. 2016年9月21日
  3. 学习网站
  4. 2016年4月25日
  5. 我需要的是如果通过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异常如何实现这是可以做到这一点,提前谢谢。

1 个答案:

答案 0 :(得分:1)

尝试此查询

select * from table_name WHERE created_date LIKE '2016-08%'

如果您有特定年份和月份的多个日期,则会为您提供多条记录。使用日期字段中的字符串函数将日期替换为sting。