sql查询:不可能将ID号作为字符输入R?

时间:2012-05-30 19:53:56

标签: sql r dataframe rodbc

我在ORACLE数据库(DB)中使用RODBC包。一切都做得很好,但我需要从这个DB获取一个表,一些变量作为characther类型,而不是数字。

所以,我这样做了我的查询:

e    ManzResul_VIII<-sqlQuery(con,"select distinct t.fono_id_dis,
            t.id_predio,
            t.co_calle,
            t.nu_casa,
            t.x,
            t.y,
            t.plancheta  from c_araya.proy_dist08_todo t  where nvl(t.fono_tipo_dis, '-') not in ('CLIENTE', 'POTENCIAL', 'CARTERA')  and nvl(t.x, 0) <> 0 ")

将ID号作为字符是不可能的,此查询将我的iDs变量的类型从Character更改为Numberic类型(ID在开头时为零,但已将其更改为数字)。我已经阅读了功能描述,但我可以看到如何管理它。

任何想法都会非常令人感到沮丧,提前谢谢!

2 个答案:

答案 0 :(得分:0)

更改查询以将id转换为所需的数据类型:

select distinct cast(t.fono_id_dis as varchar(255)) as id
. . . 

这适用于大多数数据库。

答案 1 :(得分:0)

这对我有用:

library(RODBC)
con <- odbcDriverConnect('driver={SQL Server};server=[your server name];database=[your database name];trusted_connection=true')
ManzResul_VIII<-sqlQuery(con,"select distinct ('m' + id) as id from [your table]")