[SQL] R의 동적은 "문자열"
SQLR의 동적은 "문자열"
간단한 질문이지만 답을 찾을 수 없습니다.
대신에:
Df <- sqlQuery(ch, "SELECT * FROM tblTest WHERE Id=25")
나는 코드의 역동적 인 조각을합니다. 뭔가 같은 :
Id <- 25
Df <- sqlQuery(ch, c("SELECT * FROM tblTest WHERE Id=", Id))
하지만이 올바르지 않습니다.
해결법
-
==============================
1.우리는 붙여 넣기를 사용할 수 있습니다 :
우리는 붙여 넣기를 사용할 수 있습니다 :
Df <- sqlQuery(ch, paste("SELECT * FROM tblTest WHERE Id =", Id))
벡터에 C을 병합은 페이스트 문자열 연결을위한 것입니다.
아니면 sprintf를 사용할 수 있습니다 :
sprintf("SELECT * FROM tblTest WHERE Id = %s", Id)
-
==============================
2.여러 또는 재사용 인자와 %는 다음과 같은 것을 사용할 수 있습니다 포함 된 쿼리가있는 경우 :
여러 또는 재사용 인자와 %는 다음과 같은 것을 사용할 수 있습니다 포함 된 쿼리가있는 경우 :
sprintf("SELECT * FROM test WHERE id = %1$s AND name = %2$s and type like ‘%%tall%%’”, id, name)
-
==============================
3.그냥 dplyr / tidyverse str_glue 명령을 통해 문자열 보간을 사용하는 사용하여보다 현대적인 답이를 업데이트하려면 :
그냥 dplyr / tidyverse str_glue 명령을 통해 문자열 보간을 사용하는 사용하여보다 현대적인 답이를 업데이트하려면 :
str_glue("SELECT * FROM tblTest WHERE Id = {Id}")
당신은 당신이 거기에 원하는 표현을 넣을 수 있습니다. 예를 들어, 벡터를 사용하여 여러 ID를 선택하려는 경우 :
str_glue("SELECT * FROM tblTest WHERE Id IN ({str_c(id_vector, collapse = \",\"})")
from https://stackoverflow.com/questions/3416973/dynamic-string-in-r by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] WHERE IN 조건이 문자열 값을 수락하지 (0) | 2020.04.28 |
---|---|
[SQL] 해, PreparedStatement의 입력 매개 변수로 열 이름을 갖는 (0) | 2020.04.28 |
[SQL] 함수에서 반환 녹음 열이 연결된했다 (0) | 2020.04.28 |
[SQL] 문자열이 SQL에 악센트 문자가 포함 된 경우 확인? (0) | 2020.04.28 |
[SQL] VARCHAR 변수는 WHERE 절에서 작동하지 않습니다 (0) | 2020.04.28 |