Mysql 选择查询,CONVERT_TZ不起作用


Mysql select query with CONVERT_TZ not working

这是怎么回事?

XXXXX 中选择 COUNT(*) 其中 ( XXXXX 介于 CONVERT_TZ('2016-04-27 00:00:00'、'-0:00'、'-8:00')

和 CONVERT_TZ('2016-04-27 23:59:59','-0:00'、'-8:00')之间

)从 XXXXX 位置中选择 COUNT(*)(XXXXX介于"2016-04-27 00:

00:00"和"2016-04-27 23:59:59"之间)

两者都显示相等的计数。CONVERT_TZ怎么了?

括号在错误的位置。您只使用一个参数调用CONVERT_TZ,在第一种情况下只是"2016-04-27 00:00:00"。

尝试:

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')

请注意,为了使用命名时区(如"UTC"和"America/Los_Angeles"),需要填充 mysql 系统数据库中的时区表。