2010-09-30 15 views

cevap

42

indirectly desteklenir SQLite'nın veri türleri

ZAMAN ve TARİH bir list olduğunu.

+7

dolaylı olarak desteklenir? –

+1

Sanırım tarih ve saat her ikisi de yalnızca –

+0

dizesi olarak eklenebilir veya UNIX zaman damgasını kullanma ve bunları INTEGER olarak kaydetme, ayrıca BOOLEAN INTEGER 0 veya 1 – Sourabh

30

zamanda Datatypes In SQLite Version 3 sözü geçen:

Her bir değer (veritabanı motoru tarafından ya da manipüle) SQLite veritabanında depolanan Aşağıdaki depolama sınıflardan birine sahiptir:

  • BOŞ. Değer bir NULL değeridir.

  • TAMSAYILI. Değer, değerin büyüklüğüne bağlı olarak 1, 2, 3, 4, 6 veya 8 bayt olarak saklanan işaretli bir tamsayıdır.

  • GERÇEK. Değer, 8 baytlık IEEE kayar nokta sayısı olarak saklanan kayan nokta değeridir.

  • METİN. Değer, veritabanı kodlaması (UTF-8, UTF-16BE veya UTF-16LE) kullanılarak saklanan bir metin dizesidir.

  • BLOB. Değer, tam olarak girdi olarak saklanan bir veri bloğudur.

Ve TIME ve TARİH depolama aşağıdakiler için

belirtilmektedir:

Tarih ve Saat Datatype

SQLite bir depolama sınıfı depolamak tarihlerde kenara sahip değil ve/veya zamanlar.

  • METİN olarak ISO8601 dizeleri ("YYYY-AA-GG SS: Bunun yerine, SQLite yerleşik Tarihi ve Saati İşlevleri METİN REAL veya INTEGER değerler olarak tarihleri ​​ve saatleri depolayabilen AA : SS.SSS ").
  • Julian gün sayıları olarak
  • GERÇEK, 24 Kasım Greenwich saatine göre öğleden bu yana geçen gün sayısı, 4714 milattan önce proleptik Gregoryen takvime göre.
  • INTEGER Unix Zaman, 1970-01-01 00:00:00 UTC beri saniye sayısı olarak. Her şeyden
1

İlk her android API sürümünün Sqlite3 sürümünü kontrol: https://stackoverflow.com/a/4377116/737636

bu sürümlerin tam listesi olduğunu sanmıyorum ve ben de OEM SQLite'nın versiyonunu değiştirebileceğine inanıyor içeride yüklü.http://www.sqlite.org/datatype3.html

ve: Eğer hızlı bir göz atın eğer

Neyse, baz versiyonu Bu SQLite3 tarafından desteklenen veri türleri listesi (android içinde kullanılan aynı) 'dir 3.x

olduğunu görebilirsiniz işte buradasınız :)

-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

olarak depolanır. Bu, sqlite3'teki veri türleri listesini sağlamaz. Sadece açıklama yapmadan kodu – Dediqated

+0

Thsnks: D, iwill düzenleyin –