Как применить strftime к полю DATETIME в запросе SQL в браузере БД для SQLite? - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь получить неделю поля Datetime с запросом SQL в браузере БД для SQLite.Определение таблицы:

CREATE TABLE "tbl_history" (_id AUTEGINCREMENT INTEGER PRIMARY KEY, time DATETIME DEFAULT CURRENT_TIMESTAMP, trackid INTEGER)

Iпробовал следующее:

select trackid, 
strftime('%W','now') as 'Wk', 
time, 
Cast(time as DATE) as Whyonlyday,
strftime('%W', time ) as error,
strftime('%W', Cast(time as DATE) ) as error1
from tbl_history 

Вместо того, чтобы получать поле недели для каждой записи, которое я получаю:

trackid  Wk           time             Whyonlyday error   error1
"3"     "05"    "21-Jan-19 9:20 PM"    "21"        NULL   "50"
"4"     "05"    "22-Jan-19 8:31 AM"    "22"        NULL   "50"
"5"     "05"    "22-Jan-19 11:32 PM"   "22"        NULL   "50"
"6"     "05"    "22-Jan-19 11:44 PM"   "22"        NULL   "50"
"7"     "05"    "23-Jan-19 8:33 AM"    "23"        NULL   "50"

strftime работает отлично, когда я применяю его к 'сейчас'но, как видно выше:

  1. Когда я приводю время в Date, я получаю только день вместо даты
  2. Если я применяю strftime к времени поля, я получаю Nullвместо номера недели
  3. Если я применяю strftime к полевому времени, приведенному в Date, я получаю 50 ... что я не знаю, откуда он берется ...
...