响应式SQl查询日期输出中的dateRangeInput格式错误

时间:2016-02-22 08:18:38

标签: sql r

有没有人遇到问题dateRangeInput?我想用它来过滤我的数据,但是dateRangeInput的输出是错误的2016-02-21,我需要它是21.02.2016。我认为format=dd.mm.yyyy会解决它,但我没有任何改变。

我的代码:

library(ROracle)
library(shiny)
library(DT)


server <- shinyServer(
  function(input, output, session) {

    con <- dbConnect(dbDriver("Oracle"),"xx/K",username="user",password="pwd")
    tableList <- dbListTables(con,schema="K")

    updateSelectizeInput(session, "tabnames", server = TRUE, choices = tableList)

    output$date_ui=renderUI({
        dateRangeInput('date',
                       label = 'Datum: dd.mm.yyyy',
                       start = Sys.Date()-1, end = Sys.Date()+1,
                       separator = " bis ",
                       format = 'dd.mm.yyyy',language = "de")
      })


      sqlOutput <- reactive({
        sqlInput <- paste("select rownum * from K.",input$tabnames, "where dati_create between to_date('",format(input$date[1]),"','dd.mm.yyyy') and to_date('",input$date[2],"','dd.mm.yyyy')")
        print(sqlInput) # I have printed it to see the format of the date
        dbGetQuery(con$cc, sqlInput, stringsAsFactors = T)
      })

    output$table <- DT::renderDataTable(sqlOutput(), server=TRUE, rownames=TRUE, filter="top", options=list(pageLength=10))

    session$onSessionEnded(function() { dbDisconnect(con) })
  })

ui_panel <- 
  tabPanel("Test",
           sidebarLayout(
             sidebarPanel( 
             ),
             mainPanel(
               selectizeInput("tabnames",label = "server side", choices = NULL),
               uiOutput("date_ui"),
               tableOutput("out"),
               tableOutput("table")
             )
           )
  )


ui <- shinyUI(navbarPage("Test",ui_panel))

runApp(list(ui=ui,server=server))

打印sqlInput后:

[1] "select rownum * from K.xy where dati_create between to_date(' 2016-02-21 ','dd.mm.yyyy') and to_date(' 2016-02-23 ','dd.mm.yyyy')"
Error in .oci.GetQuery(conn, statement, data = data, prefetch = prefetch,  : 
  ORA-01861: literal does not match format string

有没有人知道我如何更改dateRangeInput中的日期格式?

感谢您的帮助!

0 个答案:

没有答案