Я подключаю MySQL базу данных на удаленном сервере, используя функцию DBI::dbconnect()
.
При запросе результатов на основе фильтрации по столбцу даты и времени сервер возвращает правильные результаты, но они сдвигаются на +1 час (например, 21:00:00 вместо 20:00:00). И часовой пояс R, и часовой пояс сервера находятся в CET
(+01: 00). Но соединение действует так, как если бы часовой пояс сервера был UTC
intead. См .:
q = dbSendQuery(con, "SELECT NOW(), @@global.time_zone, @@session.time_zone;")
dbFetch(q)
NOW() @@global.time_zone @@session.time_zone
1 2020-02-21 12:47:56 SYSTEM +00:00
Sys.time() #System time for R machine
[1] "2020-02-21 12:48:10 CET"
Я пытался установить оба аргумента timezone
и timezone_out
для dbconnect()
в CET
, но это не меняет результаты запроса.
Я не знаю, как еще справиться с этим, кроме вычитания часа из результатов после извлечения данных в R.