2017-03-08 4 views
-1

나는 R 코딩을 처음 사용합니다. 나는 질문이있다.dbGetQuery()에 인수를 여러 개 전달합니까? like operator with

Df <- dbGetQuery(con, "SELECT * FROM EMP WHERE ename like '%raju%'") 

더 역동적 인 코드를 원합니다. 딥크, 라비, 라구 (raghu) 등 여러 이름을 가진 경우

+0

당신은 실제로 질문을하지 않았다 : 외부 paste0 필요 시세 및 LIKE 운영자와 더 큰 문자열을 묶어야하는 것입니다. – Dason

답변

1

paste0으로 동적 연결을 고려하십시오.

likevars = paste0("LIKE '%", paste0(c("deepak", "ravi", "ragh"), 
            collapse="%' OR ename LIKE '%"), "%'") 

Df <- dbGetQuery(con, sprintf("SELECT * FROM EMP WHERE ename %s", likevars)) 

# SELECT * FROM EMP WHERE ename LIKE '%deepak%' OR ename LIKE '%ravi%' OR ename LIKE '%ragh%' 
+0

파르페가 매력적이었던 솔루션을 제공해 주셔서 감사합니다. –