在使用 RSQLite 1.0.0 包从 SQLite 3 数据库中提取数据时,我遇到了一个奇怪的现象。除日期时间值的年份之外的所有内容都会被截断!
看一个例子:
在我提取 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>
我真的不知道发生了什么以及如何解决这个问题。我会非常感谢任何指示。
问候,亚历克斯