在数据库中将R日期转换为POSIXct日期

问题描述

我想使用dbGetQuery数据库提取数据:

date <- as.Date("2020-01-01")
string <- paste("select * from D where D_DATE >= '",date,"'",sep="")
D <- dbGetQuery(conn,string)

但是D_DATE中的日期D的类型为"POSIXct": 如何解决我的查询

设置date <- as.POSIXct(date)无效

解决方法

尝试将日期作为字符串传递,然后在SQL中转换为日期,例如:

date <- "2020-01-01"

string <- paste0("SELECT * FROM D WHERE D_DATE >= TO_DATE('",date,"','YYYY-MM-DD')")
string
# [1] "SELECT * FROM D WHERE D_DATE >= TO_DATE('2020-01-01','YYYY-MM-DD')"

我们可能需要截断 D_DATE TRUNC(D_DATE)