首页 >数据库 >mysql教程 >为什么 CONVERT_TZ() 在我的 MySQL 查询中不起作用?

为什么 CONVERT_TZ() 在我的 MySQL 查询中不起作用?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-15 07:25:02942浏览

Why Is CONVERT_TZ() Not Working in My MySQL Queries?

在 MySQL 查询中将 UTC 日期转换为本地时区

要将 UTC 时间戳转换为 MySQL 查询中的本地时区,您可以使用CONVERT_TZ() 函数。但是,需要注意的是,使用此函数可能并不总是成功。

为什么 CONVERT_TZ() 可能会失败

如果 CONVERT_TZ() 不适合您,有几个可能的原因:

  • 时区规范不正确:确保您在 CONVERT_TZ() 函数中提供了有效的时区标识符。
  • 空时区表:MySQL 依赖时区表来执行时区转换。如果这些表为空,则需要使用 mysql_tzinfo_to_sql 程序初始化它们。

使用 CONVERT_TZ() 的查询示例

以下查询转换时间戳列调用 displaytime 到 MET 时区:

SELECT CONVERT_TZ(displaytime, '+00:00', '+04:00');

检查时区表

要验证时区表是否已初始化,请执行以下查询:

SELECT * FROM mysql.time_zone;
SELECT * FROM mysql.time_zone_name;

初始化时区表

如果时区表为空,请使用以下命令加载它们:

mysql_tzinfo_to_sql /usr/share/zoneinfo

一旦时区表已初始化,请再次尝试使用 CONVERT_TZ()。如果您仍然遇到问题,请查阅 MySQL 文档以获取更详细的故障排除步骤:

  • [日期和时间函数:CONVERT_TZ()](https://dev.mysql.com/doc/refman/ 5.0/en/date-and-time-functions.html#function_convert-tz)
  • [时区支持](https://dev.mysql.com/doc/refman/5.5/en/time- zone-support.html)
  • [mysql_tzinfo_to_sql](https://dev.mysql.com/doc/refman/5.5/en/mysql-tzinfo-to-sql.html)

以上是为什么 CONVERT_TZ() 在我的 MySQL 查询中不起作用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn