Я пытаюсь запросить таблицу в oracle db, используя R, соединение для rodbc работает так, как я могу извлечь 10 лучших записей исходной таблицы.
например, таблица в базе данных oracle:
d1 DATE_ADDED
1 2014-11-03 13:04:54
2 2017-09-01 00:03:20
3 2018-03-02 09:40:36
4 2019-05-03 10:01:20
Я начинаю получать ошибки, как только добавляю предложение where для поля даты и времени в sqlquery:
SqlQuery(db,"select * from table where DATE_ADDED >= '2018-02-01T00:00:00'")
ОШИБКА: HY000 1843 [Oracle] [ODBC] [Ora] ORA-01843: недопустимый месяц
sqlQuery(db,query <- paste(
'SELECT *',
'FROM table',
paste0("WHERE DATE_ADDED BETWEEN " ,
as.numeric(as.POSIXct('2018-02-01 00:00:00'))+3653*24*60*60," AND ",
as.numeric(as.POSIXct('2019-02-01 00:00:00'))+3653*24*60*60),sep='\n'))
ОШИБКА: HY000 932 [Oracle] [ODBC] [Ora] ORA-00932: несовместимые типы данных: ожидаемый TIMESTAMP получил NUMBER
Значения поля DATE_ADDED в исходной базе данных oracle - это datetime, которое выглядит следующим образом: 2018-02-01 00:00:00
Попробовал несколько других методов (преобразование условия datetime в числовые секунды, однако возвращает ожидаемое значение).ошибка типа данных).