2010-09-30 12 views

Antwort

42

Hier ist ein list von Daten der SQLite-Typ

Uhrzeit und Datum werden indirectly unterstützt.

+7

indirekt unterstützt? –

+1

Ich denke, Datum und Uhrzeit können beide nur als Zeichenfolge eingefügt werden –

+0

Oder Mit UNIX-Zeitstempel und speichern Sie sie als INTEGER, auch BOOLEAN wird als INTEGER 0 oder 1 – Sourabh

30

Wie gesagt bei Datatypes In SQLite Version 3:

Jeder Wert in einer SQLite Datenbank gespeichert (oder von der Datenbank-Engine manipulierte) eine der folgenden Speicherklassen verfügt über:

  • NULL. Der Wert ist ein NULL-Wert.

  • INTEGER. Der Wert ist eine Ganzzahl mit Vorzeichen, die in 1, 2, 3, 4, 6 oder 8 Bytes gespeichert wird, abhängig von der Größe des Werts.

  • REAL. Der Wert ist ein Gleitkommawert, der als 8-Byte-IEEE-Fließkommazahl gespeichert wird.

  • TEXT. Der Wert ist eine Textzeichenfolge, die mit der Datenbankcodierung (UTF-8, UTF-16BE oder UTF-16LE) gespeichert wird.

  • BLOB. Der Wert ist ein Datenblock, der genau so gespeichert wird, wie er eingegeben wurde.

Und für Zeit- und Datumspeicher folgendes heißt es:

Datum und Uhrzeit Datentyp

SQLite zum Speichern von Terminen beiseite stellen nicht eine Speicherklasse haben und/oder mal. Stattdessen sind die integrierten Datums- und Zeit-Funktionen von SQLite der Lage, Daten und Zeiten als TEXT, REAL oder INTEGER Werte speichern:

  • TEXT als ISO8601 Zeichenkette ("YYYY-MM-DD HH: MM : SS.SSS ").
  • REAL als julianische Tagesnummern, die Anzahl der Tage seit dem Mittag in Greenwich am 24. November, 4714 B.C. nach dem proleptischen Gregorianischen Kalender.
  • INTEGER als Unix-Zeit, die Anzahl der Sekunden seit 1970-01-01 00:00:00 UTC.
1

Zunächst einmal für jede Android-API-Version die Sqlite3 Version überprüfen: https://stackoverflow.com/a/4377116/737636

Ich glaube nicht, dass dies die vollständige Liste der Versionen ist und ich denke, dass OEM auch die Version der SQLite ändern innen installiert.

Wie auch immer, wenn Sie einen kurzen Blick darauf werfen können Sie sehen, dass die Basis-Version 3.x

Dies ist die Liste der unterstützten Datentypen von SQLite3 ist (das gleiche innerhalb von Android verwendet): http://www.sqlite.org/datatype3.html

und Hier sind Sie :)

-2
public static Object getValue(Cursor cursor, String columnName) { 
    int index = cursor.getColumnIndex(columnName); 
    if(index == -1){ 
     throw new ColumnNotFoundException(columnName, "table"); 
    } 
    if(cursor.isNull(index)){ 
     return null; 
    } 
    int type = cursor.getType(index); 
    switch (type){ 
     case Cursor.FIELD_TYPE_INTEGER: 
      return cursor.getLong(index); 
     case Cursor.FIELD_TYPE_STRING: 
      return cursor.getString(index); 
     case Cursor.FIELD_TYPE_FLOAT: 
      return cursor.getFloat(index); 
     case Cursor.FIELD_TYPE_BLOB: 
      return cursor.getBlob(index); 
     default: 
      throw new UnknownTypeException(columnName); 
    } 
} 
+2

gespeichert Dies bietet keine Liste der Datentypen in sqlite3. Nur Code ohne Erklärung – Dediqated

+0

Thsnks: D, ich werde es bearbeiten –