我试图使用带有DBI::dbWriteTable()
驱动程序的MonetDBLite
将数据框插入MonetDB,并且必须调整MonetDB表和R数据框中的列类型。
我想知道是否存在从R到MonetDB的数据类型的映射。例如,我知道(或者假设)R中的character
向量应映射到CHAR(n), CHARACTER(n), VARCHAR(n), CHARACTER VARYING(n), TEXT, CLOB, CHARACTER LARGE OBJECT
或STRING
的MonetDB列,然后返回。
有关于此的官方文件吗?谷歌没有任何改变。
答案 0 :(得分:2)
有一个DBI
函数dbDataType
,用于确定R对象的数据库类型。 MonetDBLite驱动程序实现此功能。例如,
> library("DBI")
> con <- dbConnect(MonetDBLite::MonetDBLite())
> dbDataType(con, "asdf")
[1] "STRING"
> dbDataType(con, 1L)
[1] "INTEGER"
> dbDataType(con, 1)
[1] "DOUBLE PRECISION"
如果您对从数据库类型创建的R类型反向感兴趣,MonetDBLite驱动程序中还有一个(私有)函数可以执行此操作。
> MonetDBLite:::monetdbRtype("BOOLEAN")
BOOLEAN
"logical"