我有10~mysql表和20~ DATETIME
领域。并尝试将表从mysql迁移到googlebigquery。
在这个过程中,我碰巧使用了mysql-connector-j8.0.x,据我所知,mysql DATETIME
不知道时区。和bigquery的 TIMESTAMP
将时间戳保存为utc。
所以我应该换衣服 DATETIME
有时区信息。
我想应该由我来处理 SqlTimestampValueFactory
. 我的猜测正确吗?如果这是真的,我该如何定制 tz
的 SqlTimestampValueFactory
?
1条答案
按热度按时间flmtquvp1#
您可以通过设置
serverTimezone
财产。即使mysql
DATETIME
datetype没有时区信息。时区假设由服务器变量完成time_zone
. 以及mysql-connector-j
处理转换通过TimestampValueFactory
与ServerSession.getDefaultTimezone()
.所以就我而言
serverTimezone
属性设置就足够了。热释光;博士
sqltimestampvaluefactory在ResultSeimpl处初始化。
nativeprotocol正在初始化defaulttimezone