SQLite - Тип данных
Тип данных SQLite - это атрибут, определяющий тип данных любого объекта. Каждый столбец, переменная и выражение имеют связанный тип данных в SQLite.
Вы могли бы использовать эти типы данных при создании своих таблиц. SQLite использует более общую систему динамических типов. В SQLite тип данных значения связан с самим значением, а не с его контейнером.
Классы хранилища SQLite
Каждое значение, хранящееся в базе данных SQLite, имеет один из следующих классов хранения:
Sr. No. | Класс хранения и описание |
---|---|
1 | NULL Это значение NULL. |
2 | INTEGER Значение представляет собой целое число со знаком, хранящееся в 1, 2, 3, 4, 6 или 8 байтах в зависимости от величины значения. |
3 | REAL Значение представляет собой значение с плавающей запятой, сохраненное как 8-байтовое число с плавающей запятой IEEE. |
4 | TEXT Значение представляет собой текстовую строку, хранящуюся с использованием кодировки базы данных (UTF-8, UTF-16BE или UTF-16LE). |
5 | BLOB Значение - это блок данных, хранящийся точно в том виде, в котором он был введен. |
Класс хранилища SQLite является немного более общим, чем тип данных. Например, класс хранения INTEGER включает 6 различных целочисленных типов данных разной длины.
Тип соответствия SQLite
SQLite поддерживает концепцию type affinityна колоннах. Любой столбец по-прежнему может хранить данные любого типа, но предпочтительный класс хранения для столбца называется егоaffinity. Каждому столбцу таблицы в базе данных SQLite3 назначается одно из следующих сходств типов:
Sr. No. | Сходство и описание |
---|---|
1 | TEXT В этом столбце хранятся все данные с использованием классов хранения NULL, TEXT или BLOB. |
2 | NUMERIC Этот столбец может содержать значения, использующие все пять классов хранения. |
3 | INTEGER Ведет себя так же, как столбец с числовым сродством NUMERIC, за исключением выражения CAST. |
4 | REAL Ведет себя как столбец с числовым сходством, за исключением того, что он переводит целые значения в представление с плавающей запятой. |
5 | NONE Столбец со сродством NONE не предпочитает один класс хранилища другому, и не предпринимается никаких попыток принудительного преобразования данных из одного класса хранилища в другой. |
Сходство SQLite и имена типов
В следующей таблице перечислены имена различных типов данных, которые можно использовать при создании таблиц SQLite3 с соответствующим применяемым сродством.
Тип данных | Близость |
---|---|
|
ЦЕЛОЕ |
|
ТЕКСТ |
|
НИКТО |
|
НАСТОЯЩИЙ |
|
ЧИСЛОВЫЙ |
Логический тип данных
SQLite не имеет отдельного логического класса хранения. Вместо этого логические значения сохраняются как целые числа 0 (ложь) и 1 (истина).
Дата и время Тип данных
SQLite не имеет отдельного класса хранения для хранения дат и / или времени, но SQLite может хранить даты и время как значения TEXT, REAL или INTEGER.
Sr. No. | Класс хранения и формат даты |
---|---|
1 | TEXT Дата в формате "ГГГГ-ММ-ДД ЧЧ: ММ: СС.ССС". |
2 | REAL Количество дней с полудня в Гринвиче 24 ноября 4714 г. до н.э. |
3 | INTEGER Количество секунд с 1970-01-01 00:00:00 UTC |
Вы можете сохранять дату и время в любом из этих форматов и свободно конвертировать между форматами, используя встроенные функции даты и времени.