1) sprintf와 SQL 문에 포함 적합한 문자열로 id
변환 한 후 sprintf
이 ?sprintf
를 참조하여 SQL 문자열에 삽입합니다. $ FN
id <- c('00003', '00100')
idString <- toString(sprintf("'%s'", id)) # "'00003', '00100'"
sql_fmt <- "select * from prod_cust_vw.store_dim where store_num in (%s)"
sql <- sprintf(sql_fmt, idString)
sql
## [1] "select * from prod_cust_vw.store_dim where store_num in ('00003', '00100')"
2) 또는 gsubfn 패키지 fn$
를 사용합니다. sqlQuery
(또는 임의의 R 함수)을 fn$
으로 시작하면 실제 인수가 검색되고 $ 변수가 해당 내용으로 바뀝니다. 여기서 변수 이름에는 문자와 숫자 만 포함해야합니다. ?fn
을 참조하십시오.
library(gsubfn)
fn$sqlQuery(channel = channel, query = "select *
from prod_cust_vw.store_dim
where store_num in ($idString)")
은'paste'를 사용하거나'sprintf' i.e.e'붙여 넣기 – akrun