如何在android中使用“喜欢”运算符?

时间:2014-09-09 05:45:18

标签: android sqlite

我想使用like operator android检查数据库列START_TIME中的sting(此处为date)。比如说START_TIME =" 09-09-2014,11:33:01"和日期=" 09-09-2014"我想把DURATION等其他列与列中的START_TIME值对应。

这是我的代码:

public String getDuration(String date){
        SQLiteDatabase db=dbHelper.getWritableDatabase();
        String[] columns={DatabaseCreate.DURATION};
        String[] selectionArgs = {date};
        Cursor cursor=db.query(DatabaseCreate.USER_WORK_LOG, columns,
                DatabaseCreate.START_TIME+"=?%",selectionArgs,null,null,null);
        String duration="";
        int myNum = 0;
        while(cursor.moveToNext()){
            int index=cursor.getColumnIndex(DatabaseCreate.DURATION);
            duration=cursor.getString(index);
            //int index1=cursor.getColumnIn
            try {
                myNum += Integer.parseInt(duration);
            } catch(NumberFormatException nfe) {
              // Handle parse error.
            }
        }

        int min = myNum%60;
        int hour = myNum/60;
        String hour_str = Integer.toString(hour);
        String min_str = Integer.toString(min);
        if(min<=9){
             min_str = "0"+min;
        }
        if(hour<10){
             hour_str = "0"+hour;
        }
        return hour_str+":"+min_str;
    }

1 个答案:

答案 0 :(得分:2)

获取光标:

Cursor cursor=db.query(DatabaseCreate.USER_WORK_LOG, columns,
            DatabaseCreate.START_TIME+" LIKE '"+date+"%'",null,null,null,null);

编辑:请注意,您可以使用 rawQuery(...)方法在数据库上运行常规SQL查询。

希望它有所帮助。