как передать значение, хранящееся в переменной r, в столбец where в предложении postgresql в R - PullRequest
0 голосов
/ 04 декабря 2018

Я использую RPostgresql и DBI в RStudio.

library(RPostgreSQL)
library(DBI)
#save password
prod_pw <- {
  "my_pass"
}

 # make db connection
 con <- dbConnect(RPostgreSQL::PostgreSQL(), dbname = 'my_dbname', 
                        host = 'my_host',
                        port = 5432, # or any other port
                        user = 'user_name',
                        password = prod_pw)


# save query
myquery<- 'select count(*), state from results where date=\'2018-11-10\';'


#run query
my_query_stats<-dbGetQuery(con,myquery)

Однако я хочу автоматизировать это так, чтобы

дата могла быть либо введена пользователем, либо при минимальном использовании системной даты во времязапустить скрипт.

Что я пробовал: например:

 this_date<-Sys.Date()
#or accept from user
this_date<- readline("Please Enter Date\n")  
# Please Enter Date2018-11-30
# this_date
# [1] "2018-11-30"

    myquery<- 'select count(*), state from results where date=this_date;'
    dbGetQuery(con,myquery) # didn't work, null value returned.

myquery<- 'select count(*), state from results where date=\'this_date\';'
    dbGetQuery(con,myquery) # didn't work, null value returned.

 myquery<- 'select count(*), state from results where date=\"this_date\";'
dbGetQuery(con,myquery) # didn't work, returned null value.

Посоветуйте, пожалуйста, как принять значение от пользователя и отправить его в поле даты запроса psql.

1 Ответ

0 голосов
/ 04 декабря 2018

попробуйте

this_date = "2018-11-30"


 string = paste("select count(*), state from results where date= 
 TO_DATE(this_date,'YYYYMMDD')")

 rs = dbGetQuery(connection,string)
...