我正试图在SELECT中运行三个事件。单独来看,它们似乎运行得很好,但当我把它们放在一起时,它们不会一起工作,从而导致错误消息。
尝试:
-
将TZ转换为本地TZ
-
将日期格式更改为月-日时间
-
仅选择bor_id>166 的记录
任何关于格式的帮助都将是伟大的。我似乎做得不对。
select CONVERT_TZ(`borsignupdate`,'-08:00',@@global.time_zone) DATE_FORMAT(MAX(borsignupdate),'%M %e %l:%i%p') AS maxdate
FROM borsurvey
WHERE bor_id>166
您需要将CONVERT_TZ
调用放在DATE_FORMAT
的参数中。
SELECT DATE_FORMAT(CONVERT_TZ(MAX(borsignupdate), '-08:00', @@global.time_zone), '%M %e %l:%i%p') AS maxdate
FROM borsurvey
WHERE bor_id > 166
在注释中的问题中,DATE_FORMAT
的参数周围缺少括号,而CONVERT_TZ
的一些参数在括号之外。这是90%编程语言的基本语法,我不知道你为什么会遇到这么多麻烦
SELECT *, DATE_FORMAT(CONVERT_TZ(borsignupdate, '-08:00', @@global.time_zone), '%M %e %l:%i%p') AS localtime
FROM borsurvey
WHERE bor_id > 166
它与上一个查询基本相同,只是没有围绕borsignupdate
调用MAX()
。