提问者:小点点

在表中插入带有时区信息的数据


我正在尝试用时区信息将数据插入到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。 除了将列存储为字符串之外,还有什么方法可以实现这一点吗?


共1个答案

匿名用户

MySQL将timestamp存储在UTC中。 它会在存储之前将您的时间戳转换为UTC,并在您检索它时将其转换回来。 它将使用time_zone变量设置的时区。

参见https://dev.mysql.com/doc/refman/8.0/en/datetime.html