您试图不引用标识符或正确引用它(用双引号)。帮助中指出:
如果粘合表达式被反引号包围,它们会自动引用字符结果、引用标识符
尝试:
glue::glue_sql(.con=con, "select {`x`} from my_table", x="mycolumn")
# <SQL> select "mycolumn" from my_table
Run Code Online (Sandbox Code Playgroud)
如果其他读者想知道为什么单引号不好,单引号将其创建为字符串文字,这意味着它将作为data返回,而不是作为列标题。例如,使用一些带有Id字段的表:
DBI::dbGetQuery(con, "select 'Id' from sometable limit 3")
#
# 1 Id
# 2 Id
# 3 Id
Run Code Online (Sandbox Code Playgroud)
(注意没有列标题,正确的查询可能已将字符串文字命名为select 'Id' as somecolumnname ...,但此时就很清楚为什么单引号不正确了。)
DBI::dbGetQuery(con, 'select "Id" from sometable limit 3')
# Id
# 1 03E33A23-3F2C-1234-5678-90ABCDEF1234
# 2 04E33A23-3F2C-1234-5678-90ABCDEF1234
# 3 8114F80C-624D-1234-5678-90ABCDEF1234
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
439 次 |
| 最近记录: |