MariaDB CONVERT_TZ() 函数使用指南

在 MariaDB 中,CONVERT_TZ() 是一个内置函数,它用于将日期时间值从一个时区转换为另一个时区。

MariaDB CONVERT_TZ() 语法

这是 MariaDB CONVERT_TZ() 函数的语法:

CONVERT_TZ(datetime, fromTimeZone, toTimeZone)

参数

datetime
必需的。需要处理的日期时间。
fromTimeZone
必需的。当前时区的标识。
toTimeZone
必需的。新的时区的标识。

fromTimeZonetoTimeZone 支持的格式包括:

  • 使用 SYSTEM 意味着和当前系统的时区一样。
  • 使用 +/-[H]H:MM 意味着和 UTC 时间的偏移量,比如 '+10:00', '-6:00', '+05:30' 等。
  • 使用时区的名称,比如:'Europe/Helsinki', 'US/Eastern', 'MET', 'GMT'

如果您不提供参数或提供了错误数量的参数,MariaDB 将报告一个错误:ERROR 1582 (42000): Incorrect parameter count in the call to native function 'CONVERT_TZ'

返回值

MariaDB CONVERT_TZ() 函数返回新时区的日期时间。

如果参数错误或者为 NULLCONVERT_TZ() 函数将返回 NULL

MariaDB CONVERT_TZ() 示例

这个语句展示了 MariaDB CONVERT_TZ() 函数的基本用法:

SELECT
    CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '+01:00'),
    CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '-01:00'),
    CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '-03:00')\G

输出:

CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '+01:00'): 2023-01-06 13:00:00
CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '-01:00'): 2023-01-06 11:00:00
CONVERT_TZ('2023-01-06 12:00:00', '+00:00', '-03:00'): 2023-01-06 09:00:00

如果您想要使用命名时区,请先在 MariaDB 中设置命名时区

结论

在 MariaDB 中,CONVERT_TZ() 是一个内置函数,它用于将日期时间值从一个时区转换为另一个时区。