如何在android SQLite数据库中对Text数据进行算术运算

时间:2013-03-12 11:23:03

标签: android database sqlite android-widget

我正在开发一个Android应用程序,其中已经为sqlite提供了数据库。

在这个数据库中有一个表格,其中“startDate”和“endDate”字段的格式为“DD.MM.YYYY”,其中包含“TEXT”数据类型。

我使用datapicker获取用户的DOB并将其转换为'DD.MM.YYYY'格式。

现在我要在上面的表中触发select查询以获取位于'startDate'和'endDate'之间的所有行

我的问题是如何对文本数据类型执行算术运算,我无法修改我的数据库。

我尝试了以下查询但未获得成功:

SELECT * FROM TABLE_NAME WHERE startData >= dob AND endDate <= dob;

请指导我。我经常搜索但是无法获得成功。

提前致谢。

2 个答案:

答案 0 :(得分:0)

您可以使用BETWEEN进行日期范围检查。

//Note that the date format is "YYYY-MM-DD"
SELECT * FROM test WHERE date BETWEEN startDate AND endDate; 

答案 1 :(得分:0)

在你的sqlite查询中写下面的函数......

String[] getWeekCount(String start, String end)
{

    int i=0;
    String[] text=null;
    String selectQuery ="select * from tablename where date_col BETWEEN date ('" + start + "') and date('" + end + "')";
    SQLiteDatabase db = this.getReadableDatabase();

    try
    {
        Cursor cursor = db.rawQuery(selectQuery, null);
        if (cursor.moveToFirst()) 
        {  
            do 
            {
                 text[i]=cursor.getString(0).toString();
                             i++;
            }while (cursor.moveToNext());
        }
        else
            return 0;
        db.close();

    }
    catch (Exception e) 
    {
        System.out.println("Exception throw in SQLiteDBHandler"+e);
    }
    return text;
}