RODBC 中的 sqlSave 仅保存 R 中日期的年份

sqlSave from RODBC only saves the year of a Date in R

我将 R 连接到我的 mysql 数据库。当我使用命令 sqlSave(channel, dataframe) 时,我的数据框将被写入数据库,但是所有在 R 中编码为日期的条目(class "POSIXct" "POSIXt",例如“2016- 01-01 CET") 只有 会被记录在 mysql 数据库中。这怎么可能?
谢谢你的帮助。

编辑:列类型是"double"。所以我猜 sqlSave 不能保存为 Date/Time?

我使用了完全相同的函数,但来自 library(RMySQL),如下所示,它对我有用。首先确保您的数据格式正确:

toSql$Date<-as.POSIXct(strptime(toSql$Date,"%Y-%m-%d %H:%M",tz="GMT"))

然后还要确保在创建 table 时使用 TIMESTAMP 作为列类型:

create table table_name(
ID INTEGER,
DATE TIMESTAMP,
PRIMARY KEY(ID)
)
;

保存到数据库后如下所示:

dbWriteTable(con, name = "table_name", toSql, overwrite=FALSE,   
              append=TRUE,row.names = NA)

也许还要确保您的 dataframe 的名字相同:

names(toSql)
[1] "ID"  "DATE"

尝试将列转换为字符

dataframe$your_date_column <- as.character(dataframe$your_date_column)