R RMySQL以字符串形式获取大整数

时间:2018-02-24 14:36:34

标签: mysql r rmysql

我想使用RMySQL来处理SQL表。这个表有bigint(20) unsigned类型列,包含哈希和(64位无符号类型)。从表中获取它时,哈希被转换为浮点数,使其无用。有没有办法将这些列作为字符串获取?

这是我用来获取数据的代码:

con <- dbConnect(RMySQL::MySQL(),
                 host="192.168.1.2",
                 port = 3306,
                 user="root",
                 password="password")
res <- dbSendQuery(con, "select * from data.message")
data <- dbFetch(res, 1)
dbClearResult(res)
dbDisconnect(con)

1 个答案:

答案 0 :(得分:0)

正如@akrun所指出的,最简单的解决方案是在SQL查询本身中将int强制转换为varchar

dbSendQuery被修改如下:

res <- dbSendQuery(con, "select time, convert(state, char(20)), client, message from data.message")