Now()on Now()返回错误

时间:2017-01-14 01:18:13

标签: mysql sql datetime utc

我试图在表中插入一行并包含一个伪时间戳(该字段的类型为datetime而不是timestamp):

INSERT INTO CustomFieldValues 
    (CustomField, Name
    , Description, SortOrder
    , Creator, Created
    , LastUpdatedBy, LastUpdated
    , Category)
VALUES
    (99, 'Value Ninety Nine'
     , '', 1001
     , 8809, now()
     , 8809, now()
     , 'Cat1');

如果我插入now()的值,则datetime是本地时间,其他所有行都是UTC。

如果我尝试使用Convert_tz将Now转换为UTC时间,我会得到NULL:

SELECT convert_tz(now(), '-08:00', '+00.00') as UTC_Time

UTC_Time
--------------------
NULL

为什么要赢得这项工作?我究竟做错了什么? 感谢。

2 个答案:

答案 0 :(得分:0)

SELECT convert_tz(now(),' -08:00',' +00:00') 因为用于转换TZ到TZ chouse是+00:00

答案 1 :(得分:0)

您需要在mysql中加载时区表

shell> mysql_tzinfo_to_sql /usr/share/zoneinfo | mysql -u root mysql

更多信息 http://dev.mysql.com/doc/refman/5.7/en/mysql-tzinfo-to-sql.html