SQLite3 ближайшая отметка времени - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть большая база данных SQLite3 с 30 таблицами, самой большой из которых является таблица данных GPS со строками, которые хранятся каждую секунду более или менее.Другие таблицы находятся в диапазоне 500-3000 записей каждая.Я пытаюсь извлечь из одной из таблиц все записи и связать их с координатами, широтой и долготой из таблицы GPS на основе соответствующей метки времени в формате гггг-мм-дд чч: мм: сс.сс, встречающейся в обеихстолы.Моя текущая строка:

SELECT * FROM gpsData, наблюдения, где strftime ('% Y-% m-% d% H:% M:% S', gpsData.UTC) = strftime ('% Y-%m-% d% H:% M:% S ', Sightings.UTC);

Это дает мне то, что мне нужно в разумные сроки.Единственная проблема состоит в том, что в таблице GPS у меня есть некоторые пропущенные значения, я полагаю, что GPS не имеет хорошего покрытия, и поэтому я получаю много записей со значениями NULL.Есть ли способ изменить мое утверждение, чтобы я мог найти точное совпадение или самое близкое, однако, назад во времени?

Я пробовал с:

SELECT * FROM gpsData, Sightings WHEREstrftime ('% Y-% m-% d% H:% M:% S', gpsData.UTC)> = strftime ('% Y-% m-% d% H:% M:% S', наблюдения.УНИВЕРСАЛЬНОЕ ГЛОБАЛЬНОЕ ВРЕМЯ);

или

SELECT * FROM gpsData, наблюдения ГДЕ strftime ('% Y-% m-% d% H:% M:% S', gpsData.UTC) <= strftime ('% Y-% m-% d% H:% M:% S ', Sightings.UTC);</p>

Безуспешно.В настоящий момент я запускаю следующее:

ВЫБРАТЬ *

ОТ gpsData, Прицельные наблюдения

ЗАКАЗАТЬ АБС (strftime ('% Y-% m-% d% H:% M:% S ', gpsData.UTC) - strftime ('% Y-% m-% d% H:% M:% S ', Sightings.UTC)) ASC

Не знаюзнать, работает ли он, потому что запрос выполнялся последние полтора часа ...

Как я могу изменить свое утверждение, чтобы получить то, что мне нужно, эффективным способом?Я попробовал несколько решений, предложенных в другом месте, но они, похоже, не работают для меня.Я совершенно новичок в SQLite.Спасибо за вашу помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...