当前位置: 首页 > news >正文

MySQL中的CONVERT_TZ() 函数

CONVERT_TZ() 是 MySQL 中用于在不同时区之间转换时间的函数。它能够将一个时间值从一个时区转换为另一个时区,非常适用于处理跨时区的时间数据。

函数语法

CONVERT_TZ() 的语法如下:

CONVERT_TZ(datetime_expr, from_tz, to_tz)
  • datetime_expr:要转换的时间值,可以是 DATETIMEDATETIME 类型。
  • from_tz:源时区,表示 datetime_expr 所在的时区。
  • to_tz:目标时区,表示要将时间转换到的时区。

官方文档:https://dev.mysql.com/doc/refman/8.4/en/date-and-time-functions.html#function_convert-tz

示例

以下是一些使用 CONVERT_TZ() 的示例:

示例 1:将 UTC 时间转换为北京时间

SELECT CONVERT_TZ('2025-01-01 00:00:00', 'UTC', 'Asia/Shanghai') AS converted_time;

示例 2:将北京时间转换为 UTC 时间

SELECT CONVERT_TZ('2025-01-01 08:00:00', 'Asia/Shanghai', 'UTC') AS converted_time;

示例 3:使用时区偏移量

SELECT CONVERT_TZ('2025-01-01 00:00:00', '+00:00', '+08:00') AS converted_time;

示例 4:处理无效输入

如果输入的时间格式不正确,或者时区名称无效,CONVERT_TZ() 将返回 NULL

SELECT CONVERT_TZ('2025-01-01', 'UTC', 'Invalid/TimeZone') AS converted_time;

相关时区表

  • mysql.time_zone:存储时区的基本信息

  • mysql.time_zone_leap_second:存储闰秒信息

  • mysql.time_zone_name:存储时区名称与时区 ID 的映射关系

  • mysql.time_zone_transition:记录时区转换的时间点和转换类型

  • mysql.time_zone_transition_type:存储时区转换的具体规则

注意事项

  • 时区表必须已加载CONVERT_TZ() 函数依赖于 MySQL 的时区表。如果时区表未加载,函数将无法正常工作。可以通过运行以下命令加载时区表:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql

/usr/share/zoneinfo 是 Linux 系统中时区文件的常见路径,具体路径可能因操作系统而异。)

官方文档:https://dev.mysql.com/doc/refman/8.4/en/time-zone-support.html

  • 时区名称大小写敏感:时区名称是大小写敏感的,必须与 MySQL 时区表中的名称完全一致。
  • 时区偏移量的限制:时区偏移量的范围是 -14:00+14:00
  • MySQL 版本要求CONVERT_TZ() 函数在 MySQL 5.5 及以上版本中可用。

http://www.xdnf.cn/news/965863.html

相关文章:

  • C++ 智能指针实现原理
  • [一生一芯] 如何基于iSTA 分析时序
  • 3-存储系统
  • 【OpenCV】双相机结构光成像与图像交叉融合实现【C++篇】
  • 【Qt】Qt生成的exe依赖库与打包
  • 一天时间解决期末不挂科
  • 人工智能增强入侵检测系统以对抗高级持续性杀伤链
  • CTF show Web 红包题第六弹
  • 条件概率:AI大模型概率统计的基石
  • 第二讲 认识变量及数学运算符
  • 《广度优先搜索》题集
  • 一个n8n构建的能和LLM对话的Agent
  • mybatics
  • LCS4110R安全芯片防抄板原理
  • 黑马python(三)
  • 手写muduo网络库(三):事件分发器(Poller,EPollPoller实现)
  • java复习 07
  • C#设计模式
  • 用Python实现卡片人探险游戏:能量采集与生存挑战
  • Spring Boot 4.0.0 新特性详解:深入解读 Spring Framework 7.0.0
  • flutter基础面试知识汇总(二)
  • linux 错误码总结
  • HMTL+CSS+JS-新手小白循序渐进案例入门
  • 期末考试复习总结-《ArkTS基础语法(上)》
  • 无人机机器人资源整合
  • ETL中图表统计分析模版组件使用
  • CppCon 2015 学习:C++ WAT
  • 无人机动力系统核心技术解析
  • leetcode240-搜索二维矩阵
  • 搜索二维矩阵