【发布时间】:2018-01-17 11:49:08
【问题描述】:
我希望在 sqldf() 中运行以下 sql 语句:
select columnA, "new_column_value" as columnB, "column.C" from mytable
where columnA in ('123','456')
但是当我在 sqldf 中运行时:
sqldf('select columnA, "new_column_value" as columnB, "column.C" from mytable
where columnA in ('123','456')')
我得到一个明显的错误,即单引号已经在in('123','456') 处转义了 sql 代码,如果我用双引号包裹 sql 代码,则在我创建新列 "new_column_value" 或当我选择时,sql 会被转义通过来自毫无帮助的 "column.C" 的文字字符串。
所以我有点担心 22。就好像我想用 sql 代码在 sqldf() 调用中用引号以外的东西换行一样。
我可以在我喜欢的地方同时转义单引号和双引号吗?
【问题讨论】:
-
你可以尝试使用`?
-
用双引号发布整个语句并在内部使用单引号而不转义应该可以。 sqldf("SELECT columnA, 'new_column_value' as columnB, 'column.C' FROM mytable WHERE columnA in ('123','456')")
-
感谢 Sagar 即将更新我尝试成功
-
很高兴您尝试过并且成功了。
-
我建议您学习如何使用 R 语法。 R 中的数据操作既简单又高效。