Me han preguntado hoy cómo parametrizar una consulta de SQL Server desde R y la verdad es que es algo que me parecía muy sencillo y no me había planteado compartirlo. En mi caso suelo emplear la librería RODBC para acceder a SQL Server porque realizo las consultas vía ODBC; por este motivo lo primero que debéis tener es configurado el origen de datos ODBC e instalada la librería RODBC en R. Para acceder vía R a los datos de SQL Server, lo primero es crear la conexión a la BBDD:

conexion <- odbcConnect("ORIGEN_ODBC")

Ya estamos en disposición de realizar nuestras consultas sobre la BBDD de SQL Server; en R debemos ejecutar siempre:

objeto_r <- sqlQuery(conexion, "")

Con sqlQuery realizamos la consulta tal cual la realizaríamos en SQL Server y obtendremos el objeto en R o directamente puede salirnos en la consola. Recomiendo siempre cerrar las conexiones ODBC; R nos lo irá recordando de todas formas:

odbcCloseAll()

Con odbcCloseAll cerramos todas las conexiones ODBC. Y si deseamos añadir parámetros a nuestra consulta desde R, sólo tenemos que recordar que en sqlQuery metemos un texto; por ello podremos hacer:

fecha <- '2019-08-01'
conexion <- odbcConnect("ORIGEN_ODBC")
# Usamos paste0 para construir la cadena SQL con el parámetro
query <- paste0("SELECT * FROM TABLA WHERE FECHA > '", fecha, "' AND ESTADO = '1'")
objeto_r <- sqlQuery(conexion, query)
odbcCloseAll()

En ocasiones realizamos consultas más complejas; yo suelo “jugar con frases” y directamente pasar a sqlQuery la frase. Truco sencillo.