Сначала в SQLite, за исключением псевдонима столбца rowid (столбец, определенный специально с использованием column_name INTEGER PRIMARY KEY
), любой тип столбца может хранить значения любого типа.Таким образом, нет необходимости изменять тип столбца.
Во-вторых, вы можете использовать sum(replace(your_column,':','')
для суммирования и замены двоеточия при извлечении данных.
В-третьих, если дата / время / датаи время хранится в распознанном формате, вы можете легко добавлять, вычитать и манипулировать датами и временем. SQL в понимании SQLite - Функции даты и времени .
Если вы редактируете свой вопрос и предоставляете своиСхема таблицы (макет), пример данных и ожидаемые результаты.Затем можно дать более полный ответ.
В качестве демонстрации приведенного выше рассмотрим: -
DROP TABLE IF EXISTS anycolumntypedemo;
CREATE TABLE IF NOT EXISTS anycolumntypedemo (
id INTEGER PRIMARY KEY /* CAN ONLY HAVE INTEGER VALUE AS DATA TYPE MISMATCH ERROR */,
col1 VARCHAR,
col2 BLOB,
col3 nrealyanythinggoestype
);
INSERT INTO anycolumntypedemo VALUES
(null,100,100,100),
(null,'FRED','BERT','HARRY'),
(null,x'0102',datetime('now'),'')
;
SELECT *, replace(col2,':','') AS getridofcolons FROM anycolumntypedemo;
Это: -
- Удаление ( DROP S) таблица, если она существует, для возможности повторного запуска демонстрации.
- CREATE s таблица демонстрации со столбцами
- id псевдоним rowid
- col1 как тип VARCHAR (типовое сродство является правильным термином)
- col2 как тип BLOB (байт [])
- col3 как действительно глупый тип , но он работает
- Вставляет 3 строки,
- все с идентификатором автоматически генерируются как целое число
- 1-й ряд с col1-col3, имеющим значение 100
- , 2-й ряд с col1-col3, имеющим строки (TEXT)
- 3-я строка с col1 в качестве байта [] (2 байта 01 и 02), col2 с текущей датой и временем (формат будет YYYY-DD-MM-чч: мм: сс) и col3 в виде пустой строки
- Выбирает все столбцы плюс и дополнительные производныестолбец, представляющий собой значение col2, за исключением того, что удалены двоеточия .
В результате получается: -
- Красным кружочком показано, как инструмент управления SQLite (Navicat) отображает BLOB.
- Желтые выделенные значения показывают удаленных двоеточий из даты и времени.