Мне нужно получить разницу между двумя временными метками в SQLite. Во время поиска я нашел this question, и в то время как принятый ответ, кажется, работает на первый взгляд, она теряет много точности:Разница между двумя метками времени в SQLite с высокой точностью
Принимая этот запрос
select timestamp, EndTimeStamp, ((julianday(EndTimeStamp)-julianday(timestamp)) * 86400.0) as Duration from X
Я получаю этот результат:
"2016-04-18 13:44:31.630916" "2016-04-18 13:44:31.63114" "0.00100582838058472"
"2016-04-18 13:44:31.6315231" "2016-04-18 13:44:31.6316997" "0.0"
"2016-04-18 13:44:31.6320359" "2016-04-18 13:44:31.632202" "0.0"
"2016-04-18 13:44:31.6326964" "2016-04-18 13:44:31.6329361" "0.0"
Как вы можете видеть, три последних результата имеют расчетную разницу в ноле, но временные метки на самом деле различны.
Возможно ли, в SQL, с типом поля DATETIME, рассчитать точную разницу? Я бы предпочел не возвращаться к C#.
Я только сейчас понял, что SQLite сохраняет дату как строку, а не как выделенный тип DATETIME, поэтому теперь поведение имеет смысл. Спасибо. –