Может кто-нибудь скажет мне СПИСОК ДАТАТИПОВ в SQLITE, поддерживающий ANDROID.
Я хочу подтвердить типы данных TIME и DATE.
Может кто-нибудь скажет мне СПИСОК ДАТАТИПОВ в SQLITE, поддерживающий ANDROID.
Я хочу подтвердить типы данных TIME и DATE.
Вот список типов данных SQLite
TIME и DATE поддерживаются косвенно.
Как сказано в Типы данных в SQLite версии 3:
Каждое значение, хранящееся в базе данных SQLite (или управляемое механизмом базы данных), имеет один из следующих классов хранения:
NULL. Значение - значение NULL.
INTEGER. Значение представляет собой целое число со знаком, сохраненное в 1, 2, 3, 4, 6 или 8 байтах в зависимости от величины значения.
РЕАЛ. Значение представляет собой значение с плавающей запятой, которое хранится как 8-байтовое число с плавающей точкой IEEE.
ТЕКСТ. Значение представляет собой текстовую строку, хранящуюся с использованием кодировки базы данных (UTF-8, UTF-16BE или UTF-16LE).
BLOB. Значение представляет собой блок данных, сохраненный точно так, как он был введен.
И для хранения TIME и DATE указано следующее:
Дата и время Тип данных
SQLite не имеет класса хранения, зарезервированного для хранения дат и/или времени. Вместо этого встроенные функции даты и времени SQLite способны хранить даты и время как значения TEXT, REAL или INTEGER:
- ТЕКСТ как строки ISO8601 ( "ГГГГ-ММ-ДД ЧЧ: ММ: СС.ССС" ).
- REAL как число юлианских дней, количество дней с полудня в Гринвиче 24 ноября 4714 г. B.C. согласно предсказательному григорианскому календарю.
- INTEGER как Unix Time, количество секунд с 1970-01-01 00:00:00 UTC.
Прежде всего, проверьте версию Sqlite3 для каждой версии API для Android: fooobar.com/questions/28830/...
Я не думаю, что это полный список версий, и я думаю, что OEM также может изменить версию SQLite, установленную внутри.
В любом случае, если вы посмотрите быстро, вы увидите, что базовая версия - 3.x
Это список поддерживаемых типов данных SQLite3 (тот же, что используется внутри android): http://www.sqlite.org/datatype3.html
и вот вы:)
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);
}
}