MySQL CONVERT_TZ() 用法与实例
在 MySQL 中,您可以使用 CONVERT_TZ()
函数将一个时区之间的日期时间值转换为另一个时区。
发布于
在 MySQL 中,您可以使用 CONVERT_TZ()
函数将一个时区之间的日期时间值转换为另一个时区。
CONVERT_TZ()
函数接受 3 个参数:日期时间值、原始时区和要转换为的时区。
本文将说明 MySQL CONVERT_TZ()
函数的用法并给出了几个实例。
语法
语法如下:
CONVERT_TZ(dt,from_tz,to_tz)
其中 dt
是日期/时间, from_tz
是原始时区, to_tz
是要转换为的时区。
示例 1 - 基本用法
这个示例展示了 MySQL CONVERT_TZ()
函数的基本用法:
SELECT CONVERT_TZ('2020-12-01 01:00:00','+00:00','+08:00') AS Result;
输出:
+---------------------+
| Result |
+---------------------+
| 2020-12-01 09:00:00 |
+---------------------+
示例 2 - 命名时区
您还可以使用命名时区,例如 US/Eastern
、Europe/Moscow
和 MET
等。
为此,您需要先设置时区表。MySQL 安装过程创建了时区表,但没有加载数据。因此,您需要先填充这些表。
如果尝试将命名时区与此函数一起使用,而不先填充时区表,则会获得 null 值。
SELECT CONVERT_TZ('2020-12-01 01:00:00','Europe/Helsinki','US/Eastern') AS Result;
输出:
+--------+
| Result |
+--------+
| NULL |
+--------+
请注意,即使您确实填充了时区表,也可能需要定期更新它们。这是因为信息偶尔会更改。有关此内容的更多信息,请参阅 MySQL 文档网站上的 MySQL 服务器时区支持。