sqlSave,如何将数据写入SQL开发人员日期列包含连字符

时间:2015-08-04 06:25:36

标签: r rodbc

我有一个数据框data,其中包含有整数的列,以及包含日期和时间的列,如图所示

>head(data,2)

      PRESSURE     AMBIENT_TEMP  OUTLET_PRESSURE COMP_STATUS   DATE      TIME        predict
1        14           65            21            0        2014-01-09   12:45:00     0.6025863
2        17           65            22            0        2014-01-10   06:00:00     0.6657910  

现在我要通过chunck

将其写回Sql数据库
 sqlSave(channel,data,tablename = "ANL_ASSET_CO",append = T)

其中channel是连接名称,但这会产生错误

 [RODBC] Failed exec in Update
 22018 1722 [Oracle][ODBC][Ora]ORA-01722: invalid number

但是当我尝试排除日期列时,它会回写没有任何错误。

 > sqlSave(channel,data[,c(1:4,7)],tablename = "ANL_ASSET_CO",append = T)
 > sqlSave(channel,data[,c(1:4,6:7)],tablename = "ANL_ASSET_CO",append = T)

由于日期列数据未写入ORACLE SQL开发人员,因此连字符可能存在问题。 我怎么写,任何帮助!!

1 个答案:

答案 0 :(得分:1)

>class(data$DATE)
[1] "POSIXct" "POSIXt" 

因此必须将数据类型更改为字符

>data$DATE <- as.character(data$DATE)
>sqlSave(channel,data,tablename = "ANL_ASSET_CO",append=T)

这个工作!!