Цель
Импортировать данные моего столбца даты в мою таблицу sqlite3 как datetime
Выпуск
Из того, что я прочитал в Интернете, кажется, нужно преобразовать "дату" данные в datetime
при импорте в sqlite3
, поскольку единственными опциями типов данных являются text
, integer
, blob
и real
. У меня был обзор, и я попытался обработать команду strftime
, которая, как я понимаю, должна быть в состоянии преобразовать это, но из того, что я видел в Интернете, люди обращаются к ней в запросе sql, а не к импорту. Может кто-нибудь подтвердить, правильно ли я делаю или что я делаю неправильно с тем, как мне CAST
ввести дату? Извините, если это базовый c вопрос, я впервые пытаюсь построить свои собственные sql таблицы с данными.
Примечания
Я знаю, что строка CAST
для мой столбец даты выбрасывает ошибки, поскольку он ожидает команду AS
.
сценарий
sqlite3 -batch ~/.databases/mydatabase.db <<EOF
CREATE TABLE IF NOT EXISTS mydata(
Client TEXT NOT NULL,
Date TEXT NOT NULL,
Platform TEXT,
CREATE TEMPORARY TABLE data(
Client TEXT NOT NULL,
Date INTEGER NOT NULL,
Platform TEXT,
.mode tabs
.separator \t
.import tabledata.tsv data
INSERT INTO mydata_data (Client, Date, Platform)
SELECT
CAST (Client AS TEXT),
CAST (strftime('%Y-%m-%d',Date)),
CAST (Platform AS TEXT)
FROM data;
EOF
формат даты
2020-03-19
2020-03-07
2020-03-20
2020-03-08
2020-03-04
2020-03-21
2020-03-22
2020-02-22
2020-02-24