我正在使用 dbplyr 的包将我的 dplyr 查询转换为 SQL,它工作得非常好,但是当我复制并粘贴翻译后的 SQL 语句时,它不会在雪花中运行,因为用 `(选项卡上方的键)引用列,而我的雪花 SQL 仅当其列用“(双引号)'(单引号)或根本不加引号(如果没有中断)引用时才会运行。
有没有办法更改 dbplyr::show_query() 参数,以便结果使用双引号或单引号而不是反引号?有一个 con
参数,我已将其设置为 simulate_snowflake()
但这不会改变任何内容。
我得到的错误是:SQL 编译错误:错误第 2 行位于位置 0 无效标识符 '"COL_NAME
"'
#This will not work in my snowflake SQL
SELECT
`COL_NAME`
FROM
TABLENAME
#This will work though:
SELECT
"COL_NAME"
FROM
TABLENAME
最佳答案
一种可能是使用sql_render()
,转换为字符串,并使用您喜欢的任何正则表达式替换过程来更改引号。例如:
<pipeline> %>%
sql_render() %>%
as.character() %>%
str_replace_all(pattern="`",replacement = "\\\"")
关于r - 如何更改雪花 SQL 的 dplyr show_query() 引用约定,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73153125/