首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >RPostgreSQL查询在Shiny服务器中不起作用

RPostgreSQL查询在Shiny服务器中不起作用
EN

Stack Overflow用户
提问于 2020-07-05 02:16:20
回答 1查看 45关注 0票数 0

我正在尝试从一个闪亮的应用程序中的PostgreSQL数据库中获取数据。查询不起作用。运行以下程序

代码语言:javascript
运行
复制
function(input, output) {
  data.df<- eventReactive(input$fetcher, {
    qry<-paste0("\'SELECT * FROM bhavcopy WHERE \"TIMESTAMP\" BETWEEN \'",input$start,"\' AND \'",input$end,"\' AND \"SYMBOL\"=\'",input$symbol,"\'\'")

    dbGetQuery(con,qry)
  })

返回以下错误。

警告:错误位于:无法准备查询:错误:语法错误位于或接近"'SELECT * FROM bhavcopy WHERE "TIMESTAMP“BETWEEN”第1行:'SELECT * FROM bhavcopy WHERE "TIMESTAMP“介于'2020-06-1... ^

当我使用查询(复制cat(Qry)的结果)并运行以下查询时

代码语言:javascript
运行
复制
dbGetQuery(con,'SELECT * FROM bhavcopy WHERE "TIMESTAMP" BETWEEN '2020-06-11' AND '2020-07-04' AND "SYMBOL"='HDFCLIFE'')

错误是

错误:"dbGetQuery(con,'SELECT * FROM bhavcopy WHERE "TIMESTAMP“BETWEEN '2020”“中的意外数字常量”

在PostgreSQL管理器中使用此查询(SELECT* FROM bhavcopy WHERE "TIMESTAMP“BETWEEN '2020-06-11‘和'2020-07-04’AND "SYMBOL"='HDFCLIFE')返回正确的结果。

我无法捕捉到具体的错误并纠正它。有人能帮上忙吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-05 04:25:26

我认为你必须省略外引号。试试这个:

代码语言:javascript
运行
复制
function(input, output) {
  data.df<- eventReactive(input$fetcher, {
    qry<-paste0("SELECT * FROM bhavcopy WHERE \"TIMESTAMP\" BETWEEN '", input$start, "' AND '", input$end, "' AND \"SYMBOL\"= '", input$symbol, "'")

    dbGetQuery(con,qry)
  })

我不能测试它,但也许你也必须省略input$startinput$end周围的单引号。

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

https://stackoverflow.com/questions/62732798

复制
相关文章

相似问题

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