SQLiteにLong型はありますか?


回答:


220

SQLiteドキュメントから

INTEGER。値は符号付き整数で、値の大きさに応じて1、2、3、4、6、または8バイトに格納されます。

以来はlong8バイトで、INTEGERまた8バイトの値を保存、使用することができますすることができますINTEGER


1
SQLiteから取得すると1549251913000と入力して不一致になります
Nanda Z

誤ってにタイプキャストしていないかどうかをint確認し、全体で長い間使用していることを確認してください。
Inder Kumar Rathore

20

INTEGERタイプとして列を作成します。

db.execSQL("CREATE TABLE IF NOT EXISTS " + TABLE_A + "("
                + KEY + " INTEGER" + ")");

入れlongに値をINTEGERカラム:

contentValues.put(KEY, object.getLongValue());
db.insert(TABLE_A, null, contentValues);

重要:次のようにカーソルから値を取得しますLONG

Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_A, null);
long value = cursor.getLong(0);


5

整数型の列を定義するだけです。SQLiteは、入力に応じて列の長さを1、2、4、8に設定します。




0

INTEGERは保存することができます長いけどから長い取得するには、カーソルのように行う必要があります。

int type = cursor.getType(j);

String value = cursor.getString(j);
try {
       int intValue = Integer.parseInt(value);
       field.set(object, intValue);
    } catch (NumberFormatException e) {
       long longValue = Long.parseLong(value);
       field.set(object, longValue);
}

これを使用してタイムスタンプsqliteに保存します

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.