我很喜欢和RPostgres (R包)一起工作一段时间,而且它在大多数事情上都很有效。我最近遇到的一件事是,在Postgres数据库中,它似乎自动地将R中的数字类型转换为真实类型。真正的类型似乎非常不精确,所以理想情况下,我希望把我的数字转换成一种能够处理更多数字的类型(没有什么疯狂的,但至少有10个左右)。有人知道我是怎么做到的吗?下面是一个添加数字的例子..。
library(RPostgres)
library(DBI)
library(tibble)
con <- DBI::dbConnect(RPostgres::Postgres(),
host = 'localhost',
port = 5432,
user = 'test',
password = '')
test_tbl <- tibble::tibble(number_use = 434.94823992383445)
DBI::dbWriteTable(con, "test_tbl", test_tbl)发布于 2018-07-03 18:23:53
虽然DBI规范的一部分可能被集成到特定的API中,也可能没有被集成到特定的API中,但这里是RPostgres,考虑field.types参数,传递列名和类型的命名列表。
下面使用Postgres 数字(精度、比例尺)类型(十进制的同义词),其中精度是小数点前后值的数字总数,小数点之前和之后的小数位数是所需的十进制数。
# WITH NUMERIC(precision, scale)
dbWriteTable(con, "test_tbl", test_tbl, field.types=list(number_use="numeric(##,##)"))https://stackoverflow.com/questions/51160315
复制相似问题