Мне интересно, как передать 2 символы(x,y)
в моем ниже Ruser-defined function
, и надеюсь, что кто-то может помочь в этом:Передача символов в качестве аргумента в функции дб в R
sql.r<-function(x,y){
# Load RODBC package
library(RODBC)
# Create a connection to the database called "con"
con <- odbcConnect("odbccalc", uid=xxx, pwd=xxx, believeNRows=FALSE)
# Check that connection is working (Optional)
odbcGetInfo(con)
# Find out what tables are available (Optional)
Tables <- sqlTables(con, schema="tblData")
# Query the database and put the results into the data frame "dataframe"
dataframe <- sqlQuery(con, "
SELECT lbl,Date, dot
FROM
tblData t
WHERE t.lbl="'',x,"''
AND t.Date <"'',y,"''
ORDER BY t.Date desc")
Проблема синтаксиса может находятся в управлении quotes
.
Рабочий синтаксис, в случае, если это помогает:
sqlQuery(con, "
SELECT lbl,Date, dot
FROM
tblData t
WHERE t.lbl='fruit'
AND t.Date < '2015-06-01'
ORDER BY t.Date desc")
Бест,
Используйте 'paste' для построения запроса. См. '? Paste'. – nicola
@nicola: не видите точку после проверки, как в 'Matlab', я обычно обрабатываю кавычки в операциях' sql'. Я просто не уверен в 'R'. – owner
@ nrussell: если вы также настаиваете на этом, вы оба можете иметь право. ps: знаете ли вы о какой-либо документации, где проиллюстрирован какой-либо 'sql-синтаксис' в сочетании с' paste'? Я googling это ... – owner