将 R 变量传递给 RODBC 的 sqlQuery
在 RODBC 包中,将 R 变量传递给 sqlQuery 函数可以实现动态查询执行。以下是如何在各种场景下实现此目的:
标量/表值函数和存储过程
将变量传递给标量/表值函数或存储过程过程中,使用paste()函数构造查询字符串。例如:
x <- 1 example <- sqlQuery(myDB, paste("SELECT * FROM dbo.my_table_fn (", x, ")"))
WHERE 子句
要将变量传递给 SELECT 语句的 WHERE 子句,请使用 sprintf() 函数:
example2 <- sqlQuery(myDB, sprintf("SELECT * FROM dbo.some_random_table AS foo WHERE foo.ID = %d", x))
存储过程执行
要执行带有参数的存储过程,请使用 sprintf:
example3 <- sqlQuery(myDB, sprintf("EXEC dbo.my_stored_proc (%d)", x))
通过动态构造查询字符串,您可以将 R 变量作为参数传递给 SQL 函数和语句.
以上是如何使用 RODBC 的 sqlQuery 函数将 R 变量传递给 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!