我正在尝试用时区信息将数据插入到mysql中。 在postgresql中,我可以用TIMESTAMPTZ这样的列类型来实现这一点,但在mysql中,我无法做到这一点。
我用下面的命令创建了mysql表
CREATE TABLE idvalue(id INTEGER NOT NULL, time TIMESTAMP(6) DEFAULT CURRENT_TIMESTAMP NOT NULL, value DOUBLE PRECISION NOT NULL);
因此,mysql将时间值存储为2020-06-18 11:02:29.295868
,而postgresql将时间值存储为2020-06-18 11:02:29.295868+05:30
。 除了将列存储为字符串之外,还有什么方法可以实现这一点吗?
MySQL将timestamp
存储在UTC
中。 它会在存储之前将您的时间戳转换为UTC,并在您检索它时将其转换回来。 它将使用time_zone
变量设置的时区。
参见https://dev.mysql.com/doc/refman/8.0/en/datetime.html