簡體   English   中英

在android中的兩個日期值之間獲取SQLite表中的值的總和

[英]Getting sum of a value in SQLite table between two date values in android

我試圖得到兩個日期之間的一列的總和。但是,而不是兩個日期之間的總和,我得到了整個總和。以下是我嘗試過的。

用於創建sqlite表的代碼:

public class DataBaseHelper extends SQLiteOpenHelper {
    public DataBaseHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL("create table demo(id integer primary key,current_date date,transaction_type text,category text,amount text)");
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }
}

我正在從activity執行查詢,如下所示:

DataBase db=new DataBase(this);
int sum;
sum=db.calculateSumDebit(start_date, end_date);

DataBase類中的查詢代碼:

public int calculateSumDebit(String start_date, String end_date)
    {
       int sum=0;
        SQLiteDatabase sqldg=database.getReadableDatabase();

       Cursor cur = sqldg.rawQuery("SELECT sum(amount) FROM demo WHERE current_date  BETWEEN '" + start_date + "' AND '" + end_date + "'", null);
        if(cur.moveToFirst())
        {
            sum= cur.getInt(0);
        }
        return sum;
    }

我得到了整個金額列的總和,而不是所需日期之間的總和。請幫忙。

您使用' current_date '作為列名,這是sqlite中的關鍵字。 這將始終返回當前日期。 請更改列名稱' curr_date '。 在sqlite中也沒有日期數據類型使它成為文本並使用這樣的查詢

SELECT SUM(金額)FROM演示WHERE日期(curr_date)BETWEEN日期(“2015-12-16”)和日期(“2015-12-17”)

謝謝

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM