# 时间戳和时区

__*时区*__

+ 当前时区: `SELECT @@time_zone;`
+ 在被存储时,**TIMESTAMP** 值从当前时区转换为 UTC
+ 在被查询时,数据从 UTC 转换为当前时区

```
tidb> set time_zone='~!@+09:00@!~';
tidb> create table test.dropme (~!@d1 timestamp, d2 datetime@!~);
tidb> insert into test.dropme values (now(), now());
tidb> select * from test.dropme;
+---------------------+---------------------+
| d1                  | d2                  |
+---------------------+---------------------+
| 2022-02-06 01:12:23 | 2022-02-06 01:12:23 |
+---------------------+---------------------+
tidb> set time_zone='~!@+08:00@!~';
tidb> select * from test.dropme;
+---------------------+---------------------+
| d1                  | d2                  |
+---------------------+---------------------+
| 2022-02-06 ~!@00:12:23@!~ | 2022-02-06 01:12:23 |
+---------------------+---------------------+
```

----------------------------------------------------------------
[no notes]