我正在使用RODBC将R与MySQL数据库连接并遇到问题。我需要根据唯一的ID号(下面的IDNUM)加入两个表。问题是ID号是20位整数,R想要围绕它们。好的,没问题,我只是使用CAST(blah AS CHAR)将这些ID作为字符串而不是数字。
但是R看到传入的字符串为数字并且认为“嘿,我知道这些是字符串......但是这些字符串只是数字,所以我很确定这个人要我将它存储为数字,让我为他解决这个问题“然后将它们转换回数字并对它们进行舍入。我需要强制R将输入视为给定,并且无法弄清楚如何实现这一点。
这是我正在使用的代码(Interval是一个包含开始和结束时间戳的向量,因此此代码仅用于从选定的时间段中提取数据):
test = sqlQuery(channel, paste("SELECT CAST(table1.IDNUM AS CHAR),PartyA,PartyB FROM
table1, table2 WHERE table1.IDNUM=table2.IDNUM AND table1.Timestamp>=",Interval[1],"
AND table2.Timestamp<",Interval[2],sep=""))
答案 0 :(得分:1)
您很可能希望阅读您在?sqlQuery
使用的功能的文档,其中包含有关以下两个相关参数的说明:
as.is 哪些(如果有)列应作为字符返回 转换成另一种类型?允许的值与read.table相同。看到 “详细信息”。
和
stringsAsFactors logical:应将列作为字符返回 as.is不排除,不转换为其他任何转换 因素?
您很可能想要在as.is
中的问题中指定列。