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