[R] Variables in RODBC environment

Bonfigli Sandro bonfigli at inmi.it
Thu Oct 5 12:14:56 CEST 2006


> how can I use variables in the RODBC environment.
> 
> Example which does not work:
> 
> Thanks for your help.
> 
> Thorsten
> 
> pn <-  '39R5238';
> 
> library(RODBC);
> odbcobj <- odbcConnect("SQUIT21C",uid="muehge",pwd="xxx");
> sql <- "select
> u.unitid,
> from test
> where part in ('pn')
> ";
> parameter <- sqlQuery(odbcobj,sql);
> odbcClose(odbcobj);
> 

You can "compose" your query simply using paste.

In your example it would be

pn <-  '39R5238';

sql <- paste("select
u.unitid,
from test
where part in ('", 
pn, 
"')");

or, to avoid problems with the newline character:

sql <- paste("select",
"u.unitid,",
"from test",
"where part in ('", 
pn, 
"')");

In this case you'd have:
> sql
[1] "select u.unitid, from test where part in (' 39R5238 ')"

It's clear that, if the spaces in (' 39R5238 ') are a problem for you ,
you can use 

sql <- paste("select ",
"u.unitid, ",
"from test ",
"where part in ('", 
pn, 
"')", sep = "");

which lends to 

> sql
[1] "select u.unitid, from test where part in ('39R5238')"

HTH

  Sandro Bonfigli



More information about the R-help mailing list