MariaDB CONVERT_TZ() 函数用于将日期或日期时间值从一个时区转换为另一个时区。
语法
CONVERT_TZ(datetime, from_tz, to_tz)
参数
datetime | 必填。 指定要转换的日期或日期时间值。 |
from_tz | 必填。 指定要转换的时区。 |
to_tz | 必填。 指定要转换到的时区。 |
返回值
返回转换后的日期时间值。
示例 1:
下面的示例显示了 CONVERT_TZ() 函数的用法。
SELECT CONVERT_TZ('2018-08-18', 'GMT', 'MET');
Result: '2018-08-18 02:00:00'
SELECT CONVERT_TZ('2018-08-18 10:38:42', 'GMT', 'MET');
Result: '2018-08-18 12:38:42'
SELECT CONVERT_TZ('2018-08-18', '+00:00', '+10:00');
Result: '2018-08-18 10:00:00'
SELECT CONVERT_TZ('2018-08-18 10:38:42', '+00:00', '+10:00');
Result: '2018-08-18 20:38:42'
示例 2:
考虑一个名为 Orders 的数据库表,其中包含以下记录:
OrderQuantity | Price | OrderTime |
---|---|---|
100 | 1.58 | 2017-08-18 10:38:42 |
120 | 1.61 | 2018-03-23 07:14:16 |
125 | 1.78 | 2018-09-12 05:25:56 |
50 | 1.80 | 2019-01-16 11:52:05 |
200 | 1.72 | 2020-02-06 09:31:34 |
下面给出的语句可用于转换 OrderTime 的记录从 GMT 到 MST 的列:
SELECT *,
CONVERT_TZ(OrderTime, 'GMT', 'MST') AS CONVERT_TZ_Value
FROM Orders;
这将产生如下所示的结果:
OrderQuantity | Price | OrderTime | CONVERT_TZ_Value |
---|---|---|---|
100 | 1.58 | 2017-08-18 10:38:42 | 2017-08-18 03:38:42 |
120 | 1.61 | 2018-03-23 07:14:16 | 2018-03-23 00:14:16 |
125 | 1.78 | 2018-09-12 05:25:56 | 2018-09-11 22:25:56 |
50 | 1.80 | 2019-01-16 11:52:05 | 2019-01-16 04:52:05 |
200 | 1.72 | 2020-02-06 09:31:34 | 2020-02-06 02:31:34 |