“knitr”能否抑制sql块中的执行或输出?

“knitr”能否抑制sql块中的执行或输出?,r,knitr,R,Knitr,下面的文档运行sql并显示结果。我不希望通过不运行区块或隐藏输出来显示任何输出 有办法做到这一点吗 --- output: html_document --- ## Hide SQL Output First, set up a temporary database: ```{r} library(RSQLite) conn <- dbConnect(SQLite(), tempfile()) df <- data.frame(value = runif(1)) dbWrite

下面的文档运行sql并显示结果。我不希望通过不运行区块或隐藏输出来显示任何输出

有办法做到这一点吗

---
output: html_document
---

## Hide SQL Output

First, set up a temporary database:

```{r}
library(RSQLite)
conn <- dbConnect(SQLite(), tempfile())
df <- data.frame(value = runif(1))
dbWriteTable(conn, "TestTable", df)
```

Now show a query, but try not to run it, and try
to hide the output.  Neither works:  it runs, and 
displays the table.

```{sql connection = conn,results="hide",eval=FALSE}
SELECT * FROM TestTable;
```
---
输出:html\u文档
---
##隐藏SQL输出
首先,建立一个临时数据库:
```{r}
图书馆(RSQLite)

康涅狄格州我找到了一个解决办法。如果我使用
mysql
引擎而不是
sql
引擎,那么至少
eval=FALSE
可以工作:

```{mysql eval=FALSE}
SELECT * FROM TestTable;
```
将显示带有语法高亮显示的代码,但不执行任何操作


我不知道是否也支持
results=“hide”
,因为我没有安装mysql。

如果您只想显示SQL代码,您可以使用
''SQL
而不是
'{SQL}
(StackOverflow不支持文字反勾号,所以在这里用反勾号替换单引号)。只有后者被视为R代码块。前者是Markdown中的普通代码块。谢谢,我不知道。它在这里不起作用(因为我想在一个页面上显示代码,在下一个页面上执行代码而不显示,也不重复所有代码),但在许多情况下都可以解决类似的问题。顺便说一句,对于其他人:Yihui刚刚接受了一个pull请求,将
eval=FALSE
results=“hide”
添加到sql引擎支持的选项中。我明白了。这很有道理。欢迎你接受自己的答案。