我正在尝试将时区加载到我的MySql实例(在Ubuntu上运行),以便我可以使用CONVERT_TZ函数,但是当我运行以下命令时:
mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root -p mysql
Run Code Online (Sandbox Code Playgroud)
我得到以下输出,当我尝试使用CONVERT_TZ它时,只返回NULL:
警告:无法加载'/ usr/share/zoneinfo/Asia/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/Asia/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/Asia/Riyadh89'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/Mideast/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/Mideast/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/Mideast/Riyadh89'作为时区.跳过它.警告:无法加载'/usr/share/zoneinfo/iso3166.tab'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Asia/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Asia/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Asia/Riyadh89'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Mideast/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Mideast/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/posix/Mideast/Riyadh89'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Asia/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Asia/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Asia/Riyadh89'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Mideast/Riyadh87'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Mideast/Riyadh88'作为时区.跳过它.警告:无法加载'/ usr/share/zoneinfo/right/Mideast/Riyadh89'作为时区.跳过它.警告:无法将'/usr/share/zoneinfo/zone.tab'作为时区加载.跳过它.
有谁知道为什么会发生这种情况?
PS:
我正在使用以下方法来转换日期时间:
CONVERT_TZ(NOW(),'UTC', 'PCT')
Run Code Online (Sandbox Code Playgroud)
是否有可能我只是错误地转换,这是NULL结果的原因?
我在microsoft windows xp上使用MySQL 5.0.51b.我试图加载从时区信息文件中的数据(从下载库生成这里所描述的)到数据库表在这里.
现在我无法找到Windows的" mysql_tzinfo_to_sql "程序.我尝试在mysql命令行客户端上执行它但没有成功.在linux上,您可以直接在shell上执行此命令.
任何帮助表示赞赏.