MySQL 函数

MySQL CONVERT_TZ() 函数用于将日期或日期时间值从一个时区转换为另一个时区。

语法

CONVERT_TZ(datetime, from_tz, to_tz) 

参数

datetime必填。 指定要转换的日期或日期时间值。
from_tz必填。 指定要转换的时区。
to_tz必填。 指定要转换到的时区。

返回值

返回转换后的日期时间值。

示例 1:

下面的示例显示了 CONVERT_TZ() 函数的用法。

mysql> SELECT CONVERT_TZ('2018-08-18', 'GMT', 'MET');
Result: '2018-08-18 02:00:00'

mysql> SELECT CONVERT_TZ('2018-08-18 10:38:42', 'GMT', 'MET');
Result: '2018-08-18 12:38:42'

mysql> SELECT CONVERT_TZ('2018-08-18', '+00:00', '+10:00');
Result: '2018-08-18 10:00:00'

mysql> SELECT CONVERT_TZ('2018-08-18 10:38:42', '+00:00', '+10:00');
Result: '2018-08-18 20:38:42' 

示例 2:

考虑一个名为 Orders 的数据库表,其中包含以下记录:

OrderQuantityPriceOrderTime
1001.582017-08-18 10:38:42
1201.612018-03-23 07:14:16
1251.782018-09-12 05:25:56
501.802019-01-16 11:52:05
2001.722020-02-06 09:31:34

下面给出的语句可用于转换 OrderTime 的记录从 GMT 到 MST 的列:

SELECT *, 
CONVERT_TZ(OrderTime, 'GMT', 'MST') AS CONVERT_TZ_Value 
FROM Orders; 

这将产生如下所示的结果:

OrderQuantityPriceOrderTimeCONVERT_TZ_Value
1001.582017-08-18 10:38:422017-08-18 03:38:42
1201.612018-03-23 07:14:162018-03-23 00:14:16
1251.782018-09-12 05:25:562018-09-11 22:25:56
501.802019-01-16 11:52:052019-01-16 04:52:05
2001.722020-02-06 09:31:342020-02-06 02:31:34