Mysql CONVERT_TZ 函数使用及返回NULL解决方案

来源:互联网 发布:2015中国贸易顺差数据 编辑:程序博客网 时间:2024/06/03 13:13

mysql版本:mysql5.6
参考手册:
https://dev.mysql.com/doc/refman/5.6/en/date-and-time-functions.html#function_convert-tz

一、使用方式:

1.mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');        -> '2004-01-01 13:00:00'2.mysql> SELECT CONVERT_TZ('2004-01-01 12:00:00','+00:00','+10:00');        -> '2004-01-01 22:00:00'

二、一般会遇到的问题:

第一种使用方式有时候会返回NULL,原因是mysql的mysql数据库中没有对应的time_zone表

三、可以参考手册的解决方案:
https://dev.mysql.com/doc/refman/5.6/en/time-zone-support.html#time-zone-installation
1.对于Linux, FreeBSD, Solaris, and OS X系统,可以考虑使用系统的time_zone,目录在/usr/share/zoneinfo下面
在shell中执行:mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -ppassword mysql
即可
2.对于所有系统均可的,下载一个官方time_zone包http://dev.mysql.com/downloads/timezones.html
,在shell或cmd中执行:mysql -u root -ppassword mysql < file_name

上面命令执行完成后,最好重启一下mysql服务;
另外,官方手册还提供了几种方案,有兴趣的同学可以点击上面的链接自己学习

个人博客地址

阅读全文
0 0