我想使用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)
答案 0 :(得分:0)
正如@akrun所指出的,最简单的解决方案是在SQL查询本身中将int
强制转换为varchar
。
dbSendQuery
被修改如下:
res <- dbSendQuery(con, "select time, convert(state, char(20)), client, message from data.message")