【发布时间】:2017-01-14 01:18:13
【问题描述】:
我正在尝试向表中插入一行并包含一个伪时间戳(该字段是日期时间类型而不是时间戳):
INSERT INTO CustomFieldValues
(CustomField, Name
, Description, SortOrder
, Creator, Created
, LastUpdatedBy, LastUpdated
, Category)
VALUES
(99, 'Value Ninety Nine'
, '', 1001
, 8809, now()
, 8809, now()
, 'Cat1');
如果我插入 now() 的值,日期时间是本地时间,而所有其他行都是 UTC。
如果我尝试使用 Convert_tz 将 Now 转换为 UTC 时间,我会得到 NULL:
SELECT convert_tz(now(), '-08:00', '+00.00') as UTC_Time
UTC_Time
--------------------
NULL
为什么这不起作用?我究竟做错了什么? 谢谢。
【问题讨论】:
-
select convert_tz(cast(now() as datetime), '-08:00', '+00.00') 也返回NULL
-
addtime(now(), '08:00:00') 给了我正确的时间,但感觉不优雅......还有其他想法吗?