2017-02-13 2 views
0

Я синхронизирую исторические данные между двумя системами, и я обнаружил небольшую проблему с часами между их журналами.ОБНОВЛЕНИЕ SQLite datetime field с дробными секундами

Я загрузил данные в SqlLite и нуждаюсь в одном наборе на небольшое количество (~ 40 миллисекунд). Тем не менее, я не могу этого сделать, поскольку, кажется, всегда вокруг времени до ближайшей секунды.

Например, при попытке что-то вроде следующих

UPDATE my_table SET my_datetime = DATETIME(my_datetime, '+0.04 seconds') раундов до ближайшей секунды, и я не могу найти любой вариант модификатора дробно/миллисекунды.

Есть ли способ сделать это, что я не замечаю?

Спасибо.

ответ

1

У SQLite нет типа для даты и времени. См. http://sqlite.org/datatype3.html

Использование datetime(...) Вы сохраняете свои даты как строки. Это эквивалентно strftime('%Y-%m-%d %H:%M:%S', ...).

Одним из вариантов является использование STRFTIME с долей секунды:

UPDATE my_table SET my_datetime = STRFTIME('%Y-%m-%d %H:%M:%f',my_datetime, '+0.04 seconds') 
+0

Perfect. Быстрое предупреждение для людей, которые по какой-то причине вам нужно добавить дополнительную миллисекунду, чтобы заставить ее работать. –

Смежные вопросы