在数据框中,我有一列包含名称的列。我想将这些名称转换为字符串,以作为 sql 查询中的变量传递。 我需要用“,”分隔名称。例如“a”,“b”,“c”,“d”。
df <- data.frame(names=c("a","b","c","d"))
我得到的最好的是
df2 <- paste0('"',paste0(df$names,collapse=',"','"'))
cat(df2)
"a","b","c","d">
但是最后有这个“>”。
那么,是否可以从 df$names 中获取“a”,“b”,“c”,“d”?
SQL 查询类似于
sql.query <- paste0("
SELECT field1,field2
FROM mytable
WHERE field1 IN (",df2,");
")
谢谢
要去掉末尾的>,你可以尝试这个:
df <- data.frame(names = c("a","b","c","d"))
df2 <- paste0('"', paste(df$names, collapse = '","'), '"')
cat(df2)
这给出了“a”,“b”,“c”,“d”
现在你可以像这样使用 df2 了:
sql.query <- paste0("
SELECT field1, field2
FROM mytable
WHERE field1 IN (", df2, ");
")
cat(sql.query)