DATETIME

SinceVersion 1.2.0

DATETIMEV2

description

DATETIME([P]) 日期时间类型,可选参数P表示时间精度,取值范围是[0, 6],即最多支持6位小数(微秒)。不设置时为0。 取值范围是[‘0000-01-01 00:00:00[.000000]‘, ‘9999-12-31 23:59:59[.999999]‘]. 打印的形式是’yyyy-MM-dd HH:mm:ss.SSSSSS’

note

DATETIME 支持了最多到微秒的时间精度。在使用 BE 端解析导入的 DATETIME 类型数据时(如使用Stream load、Spark load等),或开启新优化器后在 FE 端解析 DATETIME 类型数据时,将会对超出当前精度的小数进行四舍五入。

DATETIME 读入时支持解析时区,格式为原本 DATETIME 字面量后紧贴时区:

1. <date> <time>[<timezone>]

关于<timezone>的具体支持格式,请见时区。需要注意的是,DATE, DATEV2, DATETIME, DATETIMEV2 类型均不包含时区信息。例如,一个输入的时间字符串 “2012-12-12 08:00:00+08:00” 经解析并转换至当前时区 “+02:00”,得到实际值 “2012-12-12 02:00:00” 后存储于 DATETIME 列中,则之后无论本集群环境变量如何改变,该值本身都不会发生变化。

example

1. mysql> select @@time_zone;
2. +----------------+
3. | @@time_zone    |
4. +----------------+
5. | Asia/Hong_Kong |
6. +----------------+
7. 1 row in set (0.11 sec)

9. mysql> insert into dtv23 values ("2020-12-12 12:12:12Z"), ("2020-12-12 12:12:12GMT"), ("2020-12-12 12:12:12+02:00"), ("2020-12-12 12:12:12America/Los_Angeles");
10. Query OK, 4 rows affected (0.17 sec)

12. mysql> select * from dtv23;
13. +-------------------------+
14. | k0                      |
15. +-------------------------+
16. | 2020-12-12 20:12:12.000 |
17. | 2020-12-12 20:12:12.000 |
18. | 2020-12-13 04:12:12.000 |
19. | 2020-12-12 18:12:12.000 |
20. +-------------------------+
21. 4 rows in set (0.15 sec)

keywords

1. DATETIME