我在MySql数据库查询之一中使用此条件。我的问题是我的表中有一个displaytime列,但该表列以UTC Time显示数据。我想在本地时间中转换该displaytime列Zone.so如何从查询本身提供此功能。
我已经对事物SELECT CONVERT_TZ()进行了仔细的检查,并因此知道类似的方法将对此起作用。
这是我需要将显示时间转换为本地时区的查询...所以有人可以指导我吗?
WHERE displaytime >= '2012-12-01 00:00:00' AND displaytime <='2013-02-22 23:59:59' AND ct.organizationId IN ( SELECT t.organizationId FROM organization_ AS t JOIN organization_ AS p ON t.treePath LIKE CONCAT(p.treePath, '%') WHERE p.organizationId = 10707 在此处输入图片说明 样本数据
在此处输入图片说明
SELECT CONVERT_TZ()将适用于此功能,但不适用于我。
为什么会出现什么错误?
SELECT CONVERT_TZ(displaytime,'GMT','MET'); 如果您的列类型是时间戳或日期,则应该可以使用
http://dev.mysql.com/doc/refman/5.0/zh-CN/date-and-time-functions.html#function_convert-tz
测试其工作方式:
SELECT CONVERT_TZ(a_ad_display.displaytime,'+00:00','+04:00'); 检查您的时区表
SELECT * FROM mysql.time_zone; SELECT * FROM mysql.time_zone_name; http://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html
如果这些表为空,则您尚未初始化时区表。根据上面的链接,您可以使用mysql_tzinfo_to_sql程序加载时区表。请尝试这个
shell> mysql_tzinfo_to_sql /usr/share/zoneinfo 或者,如果不起作用,请阅读更多信息:http : //dev.mysql.com/doc/refman/5.5/en/mysql-tzinfo-to-sql.html来源:stack overflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。