首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用translate_sql()将字符命令转换为SQL

用translate_sql()将字符命令转换为SQL
EN

Stack Overflow用户
提问于 2016-08-09 10:45:36
回答 1查看 129关注 0票数 1

我有以下字符"column == 5",我想将其转换为sql:column = 5。我该怎么做?

我尝试了很多方法,但都没有成功,例如:

代码语言:javascript
复制
translate_sql(eval(parse(text="column + 5")))

但是translate_sql是一个“文字”环境,它返回<SQL> EVAL(PARSE('column + 5' AS "text"))

我知道一定有什么诡计!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-08-09 10:49:06

您所称的“文字”环境通常称为非标准评估(NSE)函数。一般来说,有不同的方法来解决这些问题,但是通过为所有的NSE函数提供标准的评估伙伴来简化了这一点。

translate_sql的标准评估形式称为translate_sql_

代码语言:javascript
复制
translate_sql_("column + 5")

此外,与解析字符串输入相比,采用直接方式通常更容易:

代码语言:javascript
复制
translate_sql_(quote(column + 5))

在您的例子中没有太大的差别,但是在许多情况下,底部的表单更有用,因为它是一个可以使用R方法操作的R对象。操作字符串输入使其在语法上仍然正确,这要困难得多(而且,毫不奇怪,效率也较低)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38848615

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档