Запрос dbconnect возвращает сдвинутые результаты времени (неверный часовой пояс) - PullRequest
1 голос
/ 21 февраля 2020

Я подключаю 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.

...