简体   繁体   English

通过dbplyr过滤Oracle中的日期时间

[英]Filter datetime in Oracle through dbplyr

I am trying to filter a datetime field in an Oracle database through dbplyr.我正在尝试通过 dbplyr 过滤 Oracle 数据库中的日期时间字段。 I have tried numerous different ways of doing it, my two best guesses can be seen below, with the error messages.我尝试了许多不同的方法,下面可以看到我的两个最佳猜测,以及错误消息。 Anyone knows how to do this?任何人都知道如何做到这一点?

tbl(con2, in_schema("DB", "TABLE")) %>%
  filter(FULL_DATE >= "2020-09-01 00:00:00")

gives me:给我:

Error: nanodbc/nanodbc.cpp:1617: HY000: [Oracle][ODBC][Ora]ORA-01861: literal does not match format string
 
<SQL> 'SELECT * FROM (SELECT *
FROM (DB.TABLE) 
WHERE ("FULL_DATE" >= '2020-09-01 00:00:00')) "zzz90" WHERE ROWNUM <= 11.0'

and

tbl(con2, in_schema("DB", "TABLE")) %>%
    filter(sql('CREATED_DATE >= 2020-09-01 00:00:00'))

gives me:给我:

Error in result_fetch(res@ptr, n) : 
  Query needs to be bound before fetching

Turned out this solution worked:原来这个解决方案有效:

tbl(con2, in_schema("DB", "TABLE")) %>%
  filter(FULL_DATE >= to_date("2020-09-01", "YYYY:MM:DD"))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM