Я пытаюсь вставить значение даты и времени в базу данных SQLite. Это, кажется, успешно, но когда я пытаюсь получить значение существует ошибка:
<Не мог считать данные>
SQL-операторы:
create table myTable (name varchar(25), myDate DATETIME)
insert into myTable (name,mydate) Values ('fred','jan 1 2009 13:22:15')
Вам нужен следующий формат:
'2007-01-01 10:00:00'
т.е. гггг-ММ-дд ЧЧ: мм: сс
Однако, если возможно, используйте параметризованный запрос, так как это избавит вас от беспокойства о детали форматирования.
Способ хранения дат в SQLite:
yyyy-mm-dd hh:mm:ss.xxxxxx
SQLite также имеет некоторые функции даты и времени, которые вы можете использовать. См. SQL в понимании SQLite, функции даты и времени .
Возможно, это не самый популярный или эффективный метод, но я склонен отказываться от строгих типов данных в SQLite , поскольку все они в любом случае сохраняются в виде строк.
Я написал тонкую оболочку C # вокруг библиотеки SQLite раньше (при использовании SQLite с C #, конечно) для обработки вставок и извлечения в и из SQLite, как если бы я имел дело с объектами DateTime.
Вы должны изменить формат строки даты, которую вы предоставляете, чтобы иметь возможность вставить ее с помощью функции STRFTIME. Причина в том, что нет опции для сокращения месяца:
%d day of month: 00
%f fractional seconds: SS.SSS
%H hour: 00-24
%j day of year: 001-366
%J Julian day number
%m month: 01-12
%M minute: 00-59
%s seconds since 1970-01-01
%S seconds: 00-59
%w day of week 0-6 with sunday==0
%W week of year: 00-53
%Y year: 0000-9999
%% %
Альтернативой является форматирование даты / времени в уже принятом формате:
Ссылка: SQLite Функции даты и времени