检索特定时区中存储的 TIMESTAMP 值

这真的很容易。所有 TIMESTAMP 值都以通用时间存储,并且在渲染时始终转换为当前的 time_zone 设置。

SET SESSION time_zone='America/Los_Angeles'; 
SELECT timestamp_sold
  FROM sales
 WHERE state_sold = 'CA'

为什么是这样? TIMESTAMP 值基于古老的 UNIX time_t 数据类型 。自 1970-01-01 00:00:00 UTC 以来,这些 UNIX 时间戳存储为秒数。

注意 TIMESTAMP 值以通用时间存储。DATEDATETIME 值存储在存储它们时的任何当地时间。