Как вставить значение datetime в базу данных SQLite?
Я пытаюсь вставить значение datetime в SQLite
6 ответов
формат, который вам нужен:
'2007-01-01 10:00:00'
т. е. гггг-ММ-ДД чч:мм:СС
по возможности, однако, используйте параметризованный запрос, поскольку это освобождает вас от беспокойства о деталях форматирования.
способ хранения дат в SQLite:
yyyy-mm-dd hh:mm:ss.xxxxxx
SQLite также имеет некоторые функции даты и времени можно использовать. См.SQL в понимании SQLite, функции даты и времени.
вы должны изменить формат строки даты, которую вы предоставляете, чтобы иметь возможность вставить ее с помощью функции 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
%% %
альтернативой является формат даты/времени в уже принятый формат:
- ГГГГ-ММ-ДД
- ГГГГ-ММ-ДД ЧЧ: ММ
- ГГГГ-ММ-ДД ЧЧ: ММ: СС
- ГГГГ-ММ-ДД ЧЧ: ММ: СС.SSS
- ГГГГ-ММ-ДДТЧЧ:ММ
- ГГГГ-ММ-ДДТЧЧ:ММ:СС
- ГГГГ-ММ-ДДТЧЧ:ММ:СС.SSS
- HH: MM
- HH: MM: SS
- HH: MM: SS.SSS
- теперь
ссылки: SQLite дата и время функции
Это может быть не самый популярный или эффективный метод, но я склонен отказываться от сильных типов данных в SQLite поскольку они все по существу сбрасываются как строки в любом случае.
Я написал тонкую оболочку C# вокруг библиотеки SQLite раньше (при использовании SQLite с C#, конечно) для обработки вставок и извлечений из SQLite, как если бы я имел дело с объектами DateTime.