在MYSQL中将时间戳转换为日期时间

问题描述:

在mysql中将时间戳转换为datetime时会丢失任何数据吗?两者之间的主要区别是什么?在MYSQL中将时间戳转换为日期时间

  1. 不,你不知道。如果您将日期时间或时间戳转换为日期(因为日期不存储时间数据),则会丢失数据。
  2. 关于两者之间的区别的详细信息,你可以阅读this question

从文档(TIMESTAMP Propeties):

TIMESTAMP值从当前时区转换为UTC存储,并从UTC转换回当前时区以供检索。 (这仅出现在TIMESTAMP数据类型中,而不是其他类型,如DATETIME。)默认情况下,每个连接的当前时区是服务器的时间。

[...]

如果保存一个TIMESTAMP值,然后更改时区和检索值,检索到的值是你保存的值不同。发生这种情况是因为同一时区未用于双向转换。

在冒险转换之前,您可以创建额外的列和查询以将数据复制到该列中。