Я столкнулся со странным феноменом при извлечении данных из базы данных SQLite 3 с помощью пакета RSQLite 1.0.0. Все значения datetime, кроме года, усекаются!
См. Пример:
Следом я извлекаю столбец DATETIME:
library(RSQLite)
src_path <- "../DataLocked/Study.db"
con <- dbConnect(SQLite(), src_path)
dbGetQuery(con, "SELECT Todesdatum FROM Kontraindikation LIMIT 10")
Это дает мне следующий результат:
Todesdatum
1 NA
2 NA
3 2004
4 NA
5 2006
6 NA
7 NA
8 NA
9 NA
10 NA
Теперь из той же таблицы я опускаю значения NON NULL:
dbGetQuery(con, "SELECT Todesdatum FROM Kontraindikation WHERE Todesdatum NOTNULL")
Это дает мне следующий результат:
Todesdatum
1 2004-09-16 00:00:00
2 2006-04-20 00:00:00
3 2006-06-02 00:00:00
4 2007-09-15 00:00:00
5 2008-06-12 00:00:00
6 2005-10-04 00:00:00
7 2008-11-22 00:00:00
8 2005-12-22 00:00:00
9 2006-11-05 00:00:00
10 2006-02-08 00:00:00
...
Теперь я пытаюсь ввести строковый формат в поле DATETIME:
dbGetQuery(con, "SELECT strftime('%Y-%m-%d',Todesdatum) as fixed_Todesdatum FROM Kontraindikation 10")
Это работает:
fixed_Todesdatum
1 <NA>
2 <NA>
3 2004-09-16
4 <NA>
5 2006-04-20
6 <NA>
7 <NA>
8 <NA>
9 <NA>
10 <NA>
Я действительно понятия не имею, что происходит и как это решить. Буду очень благодарен за любые указатели.
Привет, Алекс