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

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

Mary-Kate Olsen
发布: 2024-11-15 07:25:02
原创
936 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板