2012-05-30 2 views
3

Я использую пакет RODBC внутри базы данных ORACLE DATA BASE (DB). Все работает очень хорошо, но мне нужно получить таблицу из этой БД, а некоторые переменные - как характерные, а не цифры.sqlQuery: невозможно получить идентификационный номер как символ в R?

Итак, я сделал свой запрос так:

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 ") 

Is невозможным, чтобы получить идентификационный номер в качестве символов, этот запрос изменить тип моих переменных IdS от персонажа к типу Numberic (Идентификатор имеет нуль в начале, но был изменен на несколько). Я прочитал описание функции, но я вижу, как ее управлять.

Любая идея была бы действительно оценена, спасибо заранее!

+3

ли ЗЕЬЕСТ работу, как ожидается, за пределами R? Если это не так, то ответ mplourde должен работать. Если это так, попробуйте 'sqlQuery (con,« select ... », as.is = T)' – Seth

+0

спасибо @Seth !!! –

ответ

0

Изменить запрос, чтобы бросить идентификатор типа данных вы хотите:

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

Это должно работать с большинством баз данных.

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]") 
Смежные вопросы