sql - 如何在 R 中的 sql 查询中传递函数参数?

标签 sql sql-server r function parameter-passing

<分区>

我在 R 中有以下函数:

dbhandle <- odbcDriverConnect('driver={SQL Server};
                              server=myServer;database=myDB;
                              trusted_connection=true')
func <- function(x){
     sqlQuery(dbhandle, 'select attr from myTable where cond = x')
}

我想知道如何将 x 参数传递给 cond 属性的 where 条件。比如我要计算func(10),那么查询一定是:

select attr from myTable where cond = 10

最佳答案

在使用RODBC 时,我更喜欢使用参数化查询。当您传递字符串时,这会变得更有值(value),因为这可以避免 SQL 注入(inject)。

library(RODBCext)

sqlExecute(dbhandle, 
           "select attr from myTable where cond = ?",
           data = list(cond = 10),
           fetch = TRUE,
           stringsAsFactors = FALSE)

关于sql - 如何在 R 中的 sql 查询中传递函数参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47019417/

相关文章:

r - 合并 2 个向量并删除所有重复项

java - jooq 和 java 8 流 SQL 生成

r - 是否有一种动态方法可以在数据帧中未知数量(即动态数量)的列上连接值?

创建或更新行时出现 java.sql.SQLException

sql-server - 在 SQL Server 中存储文件

从 Excel 运行的 SQL 无法使用临时表

sql - 如何在 SQL Server 2012 中将日期时间列拆分为日期列和串联时间(对于同一日期列)

python - 绘制三元/三角图的库/工具

sql - 如何根据Teradata SQL中的条件计算带重置的移动总和?

Sql Query 帮助从两个表中获取不匹配的记录