简体   繁体   English

使用CONVERT_TZ的MySQL选择查询不起作用

[英]Mysql select query with CONVERT_TZ not working

What's wrong here? 怎么了

SELECT COUNT(*) FROM XXXXX WHERE ( XXXXX BETWEEN CONVERT_TZ('2016-04-27 00:00:00','-0:00','-8:00') AND CONVERT_TZ('2016-04-27 23:59:59','-0:00','-8:00')) XXXXXXXXXX CONVERT_TZ('2016-04-27 00:00:00','-0:00','-8:00')和CONVERT_TZ('2016-04-27 23之间选择COUNT(*) :59:59','-0:00','-8:00'))

SELECT COUNT(*) FROM XXXXX WHERE ( XXXXX BETWEEN '2016-04-27 00:00:00' AND '2016-04-27 23:59:59') XXXXX (在'2016-04-27 00:00:00'和'2016-04-27 23:59:59'之间的XXXXX )中选择COUNT(*)

Both showing equal count. 两者显示相等的计数。 What's wrong in CONVERT_TZ? CONVERT_TZ有什么问题?

You have parentheses in the wrong spot. 您在错误的位置加上了括号。 You're calling CONVERT_TZ with only one parameter, in the first case just '2016-04-27 00:00:00'. 您仅使用一个参数调用CONVERT_TZ,在第一种情况下仅为“ 2016-04-27 00:00:00”。

Try: 尝试:

SELECT COUNT(*) FROM `XXXXXXX` WHERE `XXXXXXXX` BETWEEN  CONVERT_TZ('2016-04-27 00:00:00','UTC','America/Los_Angeles') AND  CONVERT_TZ('2016-04-27 23:59:59','UTC','America/Los_Angeles')

Note that in order to use named time zones (like 'UTC' and 'America/Los_Angeles'), the timezone tables in the mysql system database need to be populated. 请注意,为了使用命名时区(例如'UTC'和'America / Los_Angeles'),需要填充mysql系统数据库中时区表

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM