当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R dbplyr sql_expr 从 R 表达式生成 SQL


用于从 R 表达式生成 SQL 的低级构建块。字符串被转义;名称成为裸 SQL 标识符。用户中缀函数已删除%

用法

sql_expr(x, con = sql_current_con())

sql_call2(.fn, ..., con = sql_current_con())

参数

x

准引用表达式

con

用于转义的连接。从函数翻译调用时将自动设置。

.fn

函数名称(作为字符串、调用或符号)

...

函数的参数

细节

在包中使用sql_expr()将需要使用globalVariables()以避免R CMD check注释。这是一点额外的痛苦,我认为这是值得的,因为它会带来更具可读性的翻译代码。

例子

con <- simulate_dbi() # not necessary when writing translations

sql_expr(f(x + 1), con = con)
#> <SQL> F(x + 1.0)
sql_expr(f("x", "y"), con = con)
#> <SQL> F('x', 'y')
sql_expr(f(x, y), con = con)
#> <SQL> F(x, y)

x <- ident("x")
sql_expr(f(!!x, y), con = con)
#> <SQL> F(`x`, y)

sql_expr(cast("x" %as% DECIMAL), con = con)
#> <SQL> CAST('x' AS DECIMAL)
sql_expr(round(x) %::% numeric, con = con)
#> <SQL> ROUND(x) :: numeric

sql_call2("+", quote(x), 1, con = con)
#> <SQL> x + 1.0
sql_call2("+", "x", 1, con = con)
#> <SQL> 'x' + 1.0
源代码:R/sql-expr.R

相关用法


注:本文由纯净天空筛选整理自Hadley Wickham等大神的英文原创作品 Generate SQL from R expressions。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。