【 TiDB 使用环境`】生产环境
【 TiDB 版本】 5.2.1
【遇到的问题】 原来的列是timestamp类型,现在把他变成了datetime(3)后,时间比原来少了8小时
【复现路径】
【问题现象及影响】
看官方论坛对timestamp的解释,存的是utc的时间
当存储 TIMESTAMP
时,TiDB 会将当前时区的 TIMESTAMP
值转换为 UTC 时区。当读取 TIMESTAMP
时,TiDB 将存储的 TIMESTAMP
值从 UTC 时区转换为当前时区(注意: DATETIME
不会这样处理)
在alter转换的时候是不是应该带着系统的timezone一块儿转换,tidb的timezone为“Asia/Shanghai”