我正在尝试使用 mysql 将 unix 时间戳转换为本地时间。
我正在尝试的陈述是:
SELECT CONVERT_TZ('FROM_UNIXTIME(table1.timestamp)', 'GMT', 'MET' ),table1.COL2,table1.COL3 WHERE table1ID ='3'
它返回NULL
.
我宁愿直接在 mysql 中执行此操作,而不是稍后使用 php 操作输出以保持代码的其他部分简单。
提前感谢任何帮助。
尝试删除'FROM_UNIXTIME(table1.timestamp)'
上的引号,例如:
SELECT CONVERT_TZ(FROM_UNIXTIME(table1.timestamp), 'GMT', 'MET' ),table1.COL2,table1.COL3 WHERE table1ID ='3'
引号FROM_UNIXTIME(table1.timestamp)
使其成为一个字符串,看起来不像日期。您必须删除引号才能使其成为函数调用。
完成此操作后,您仍然可能会得到NULL
。通过运行测试查询进行测试:SELECT CONVERT_TZ('2004-01-01 12:00:00','GMT','MET');
如果仍然NULL
,则可能需要设置时区表。请参阅有关主题的 MySQL 文档。