Sqlite3: выберите данные от отметки времени до x минут - PullRequest
0 голосов
/ 06 мая 2020

У меня есть набор данных в базе данных, который имеет диапазон записей от DATETIME отметки времени.

Я пытаюсь написать функцию, которая выбирает все от времени начала до времени окончания который определяется как 'x минут'.

Так, например, из моего набора данных тестовой базы данных я хочу выбрать все от 2020-05-04 04:49:05 до +2 minutes.

Я прочитал this sqlite3 date time reference , но, похоже, он не работает.

Моя схема таблицы:

CREATE TABLE tableTest (TIMESTAMP1 DATETIME DEFAULT(STRFTIME('%Y-%m-%d %H:%M:%f', 'NOW')),data1 uint8_t,data2 uint8_t,data3 uint8_t,data4 uint8_t,data5 uint8_t,data6 uint8_t,data7 uint8_t,data8 uint8_t);

, и я пытался выполнять запросы, которые следуют этому формату, но не работают:

select * from tableTest where timestamp1 >= strftime('2020-05-04 04:49:02', '+2 minutes');

Я не уверен как правильно отформатировать sql, чтобы приветствовать любую помощь.

1 Ответ

0 голосов
/ 06 мая 2020

Функция strftime() используется для форматирования дат. Вы должны использовать datetime() как это:

select * from tableTest 
where timestamp1 between 
  datetime('2020-05-04 04:49:02')
  and  
  datetime('2020-05-04 04:49:02', '+2 minutes');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...